大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
统计,就是把基本的数据,整合起来。
10多年的冀州网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整冀州建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“冀州网站设计”,“冀州网站推广”以来,每个客户项目都认真落实执行。
用到sql的,有group by 功能,count功能,order by功能等等。
sql将收集的数据,进行统计分析。
一般情况下,sql处理后得到的数据,还要通过php的逻辑来进行整理。
以一定的格式,展示到前台。
一般都是以数组的方式展示,这也是数据结构的概念。
看这张图片,基本想想结构大概为
{上线数,出单总数,核过总数,总人均,总核率,{(坐席人1,工号1,出单数1,发货数1,核单率1),(坐席人2,工号2,出单数2,发货数2,核单率2)}}
如果用php展示成上面的结构的话,就很好处理了。
原理:根据不同的IP统计出当前有多少人在线。
实现方式:可以用数据库,也可以用文本。
我这里用了文本实现。
$user_online = "count.php"; // 保存人数的文件
touch ( $user_online ); // 如果没有此文件,则创建
$timeout = 30; // 30秒内没动作者,认为掉线
$user_arr = file_get_contents ( $user_online );
$user_arr = explode ( '#', rtrim ( $user_arr, '#' ) );
print_r ( $user_arr );
$temp = array ();
foreach ( $user_arr as $value ) {
$user = explode ( ",", trim ( $value ) );
if (($user [0] != getenv ( 'REMOTE_ADDR' )) ($user [1] time ())) { // 如果不是本用户IP并时间没有超时则放入到数组中
array_push ( $temp, $user [0] . "," . $user [1] );
}
}
array_push ( $temp, getenv ( 'REMOTE_ADDR' ) . "," . (time () + ($timeout)) . '#' ); // 保存本用户的信息
$user_arr = implode ( "#", $temp );
// 写入文件
$fp = fopen ( $user_online, "w" );
flock ( $fp, LOCK_EX ); // flock() 不能在NFS以及其他的一些网络文件系统中正常工作
fputs ( $fp, $user_arr );
flock ( $fp, LOCK_UN );
fclose ( $fp );
echo "当前有" . count ( $temp ) . "人在线";
您好,很高兴回答您的问题,希望我的回答能帮助到您,蟹蟹
用户在线时长计算,首先,用户登录成功把登录时间以及用户id保存在session中
当用户退出时,当前时间减去登录时间就是用户在线时长
//用户登录
public function dologin(){
$adminname = I("param.adminname","","trim");//用户名
$password = I("param.password","","trim");//密码
$where = "adminname = '{$adminname}' and password = md5('{$password}')";
$data['login_time'] = time();
$is_find = M("users_admin")-where($where)-find();
if($is_find){
$result = M("users_admin")-where($where)-setField($data);
if ($result){
$_SESSION['uid'] = $is_find['id'];
$_SESSION['login_time'] = $data['login_time'];
echo("登录成功");
}
}
}
//用户退出代码
public function logout(){
$login_time = $_SESSION['login_time'];
$now = time();
$line_time = $now-$login_time;
$result = M("users_admin")-where("id = ".$_SESSION['uid'])-setField('line_time',$line_time);
session(null);
echo("成功退出");
}