統(tǒng)計(jì),就是把基本的數(shù)據(jù),整合起來(lái)。
10多年的冀州網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。網(wǎng)絡(luò)營(yíng)銷(xiāo)推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整冀州建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“冀州網(wǎng)站設(shè)計(jì)”,“冀州網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
用到sql的,有g(shù)roup by 功能,count功能,order by功能等等。
sql將收集的數(shù)據(jù),進(jìn)行統(tǒng)計(jì)分析。
一般情況下,sql處理后得到的數(shù)據(jù),還要通過(guò)php的邏輯來(lái)進(jìn)行整理。
以一定的格式,展示到前臺(tái)。
一般都是以數(shù)組的方式展示,這也是數(shù)據(jù)結(jié)構(gòu)的概念。
看這張圖片,基本想想結(jié)構(gòu)大概為
{上線數(shù),出單總數(shù),核過(guò)總數(shù),總?cè)司?,總核率,{(坐席人1,工號(hào)1,出單數(shù)1,發(fā)貨數(shù)1,核單率1),(坐席人2,工號(hào)2,出單數(shù)2,發(fā)貨數(shù)2,核單率2)}}
如果用php展示成上面的結(jié)構(gòu)的話,就很好處理了。
原理:根據(jù)不同的IP統(tǒng)計(jì)出當(dāng)前有多少人在線。
實(shí)現(xiàn)方式:可以用數(shù)據(jù)庫(kù),也可以用文本。
我這里用了文本實(shí)現(xiàn)。
$user_online?=?"count.php";?//?保存人數(shù)的文件
touch?(?$user_online?);?//?如果沒(méi)有此文件,則創(chuàng)建
$timeout?=?30;?//?30秒內(nèi)沒(méi)動(dòng)作者,認(rèn)為掉線
$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并時(shí)間沒(méi)有超時(shí)則放入到數(shù)組中
array_push?(?$temp,?$user?[0]?.?","?.?$user?[1]?);
}
}
array_push?(?$temp,?getenv?(?'REMOTE_ADDR'?)?.?","?.?(time?()?+?($timeout))?.?'#'?);?//?保存本用戶的信息
$user_arr?=?implode?(?"#",?$temp?);
//?寫(xiě)入文件
$fp?=?fopen?(?$user_online,?"w"?);
flock?(?$fp,?LOCK_EX?);?//?flock()?不能在NFS以及其他的一些網(wǎng)絡(luò)文件系統(tǒng)中正常工作
fputs?(?$fp,?$user_arr?);
flock?(?$fp,?LOCK_UN?);
fclose?(?$fp?);
echo?"當(dāng)前有"?.?count?(?$temp?)?.?"人在線";
您好,很高興回答您的問(wèn)題,希望我的回答能幫助到您,蟹蟹
用戶在線時(shí)長(zhǎng)計(jì)算,首先,用戶登錄成功把登錄時(shí)間以及用戶id保存在session中
當(dāng)用戶退出時(shí),當(dāng)前時(shí)間減去登錄時(shí)間就是用戶在線時(shí)長(zhǎng)
//用戶登錄
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("成功退出");
}