时间:2021-05-25
functioncheckOnline($userid,$tempid=null)
{
$conn=connect();
//对于所有用户
//先设置自己为在线
$stmt="UPDATE".DB_NAME.".USERSETIsOnline='Y'WHEREUserID=".$userid;
$result=query($stmt,$conn);
//info($stmt);
//如果当前用户是游客
if($tempid!=null)
{
$stmt="SELECTTempIDFROM".DB_NAME.".TEMPUSERWHERE
TempID=".$tempid;
$result=query($stmt,$conn);
//info($stmt);
//如果该游客还在线
if($row=fetch_array($result))
{
$stmt="UPDATE".DB_NAME.".TEMPUSERSET
RequestTime='".getCurrentTime()."'WHERETempID=".$tempid;
$result=query($stmt,$conn);
//info($stmt);
}
//该游客已经离线
else
{
$stmt="INSERTINTO".DB_NAME.".TEMPUSER
VALUES('".$tempid."','".getCurrentTime()."')";
$result=query($stmt,$conn);
//info($stmt);
}
}
//查看其他用户
//普通用户
$stmt="UPDATE".DB_NAME.".USERSETIsOnline='N'WHERE".time()."-
unix_timestamp(RequestTime)>".ONLINE_DURATION."ANDUserGroupID!=".GUEST;
$result=query($stmt,$conn);
//游客
$stmt="DELETEFROM".DB_NAME.".TEMPUSERWHERE".time()."-
unix_timestamp(RequestTime)>".ONLINE_DURATION;
$result=query($stmt,$conn);
disconnect($conn);
}
//得到在线人数,分用户和游客
functiongetOnlineNumber()
{
$olnum=array();
$conn=connect();
$stmt="SELECTCOUNT(UserID)FROM".DB_NAME.".USERWHEREIsOnline='Y'AND
UserGroupID!=4";//4为guest的用户组id
//info($stmt);
$result=query($stmt,$conn);
$olnum['user']=result($result,0,"COUNT(UserID)");
$stmt="SELECTCOUNT(TempID)FROM".DB_NAME.".TEMPUSER";
//info($stmt);
$result=query($stmt,$conn);
if($row=fetch_array($result))
{
$olnum['guest']=$row['COUNT(TempID)'];
}
disconnect($conn);
return$olnum;//from
}
functionfetch_array($result)
{
returnmysql_fetch_array($result);
}
functionfetch_row($result)
{
returnmysql_fetch_row($result);
}
functionnum_rows($result)
{
returnmysql_num_rows($result);
}
functionresult($result,$row,$field)
{
returnmysql_result($result,$row,$field);
}
rule层:
rl_online.PHP
functiongetOnline()
{
if($userid==2)
{
if(session_is_registered("tempuserid"))
{
checkOnline($userid,$tempuserid);
}
}
else
{
checkOnline($userid);
}
returngetOnlineNumber();
}
ui层:
ui_online.PHP
$online_num=getOnline();
echo"在线人数,注册用户".$online_num['user']."人,游客".$online_num['guest']."人";
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了php实现统计网站在线人数的方法。分享给大家供大家参考。具体实现方法如下:$val){$val=trim($val);if($val!=""){l
本文实例讲述了PHP实现统计在线人数的方法。分享给大家供大家参考,具体如下:我记得ASP里面统计在线人数用application这个对象就可以了。PHP怎么设计
本文实例讲述了PHP+jquery实时显示网站在线人数的方法。分享给大家供大家参考。具体分析如下:在线人数最简单的就是直接利用js调用php,这样可以显示出有多
一个统计当前在线用户的解决方案在做一个在线交流的网站时,有个问题很令我头疼,就是关于实时统计在线用户的问题,客户要求:统计当前在线人数、游客人数、会员人数、在线
这是一个非常精确的,通过php实现统计在线人数的方法,想知道怎么实现的请耐心阅读。