php高效统计用户数据 php高效统计用户数据的方法
php如何设计或实现数据统计
统计,就是把基本的数据,整合起来。
网站制作、网站建设,成都做网站公司-成都创新互联公司已向近1000家企业提供了,网站设计,网站制作,网络营销等服务!设计与技术结合,多年网站推广经验,合理的价格为您打造企业品质网站。
用到sql的,有group by 功能,count功能,order by功能等等。
sql将收集的数据,进行统计分析。
一般情春袭手况下,sql处理后得到的数据,还要通过php的逻辑来进扒嫌行整理。
以一定的格式,展示到前台。
一般都是以数组的方式展示,这也是数据结构的禅并概念。
看这张图片,基本想想结构大概为
{上线数,出单总数,核过总数,总人均,总核率,{(坐席人1,工号1,出单数1,发货数1,核单率1),(坐席人2,工号2,出单数2,发货数2,核单率2)}}
如果用php展示成上面的结构的话,就很好处理了。
PHP 在线人数统计 我的想法:建一个在线用户数据表。
“用户退出或者关闭浏览器SESSION消失的时候在线用户表删除相对应的数据”
这里不可行。。服务器没办法获取这个信息的。都是耐祥嫌被动请求的。
要换个昌手思路,要用js或者其它方式定时触发删除。。
一般15分钟或者30分钟。。
数据库还要记录IP,宴如记录最近一次触发时间。
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 弯穗) . "人猛闷在线";
网站名称:php高效统计用户数据 php高效统计用户数据的方法
标题URL:http://scyanting.com/article/ddpcheo.html