网站在线人数统计 php,也谈php网站在线人数统计

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']=$ro

w['COUNT(TempID)'];

}

disconnect($conn);

return$olnum;//fromwww.w3sky.com

}

其中的connect(),disconnect(),query(),fetch_array()函数在dbmanager.inc.PHP中

dbmanager.inc.PHP

define("DB_NAME","databasename");

define("DB_USER","user");

define("DB_PASS","pass");

define("DB_HOST","localhost");

functionconnect()

{

//echo"ConnectingtoHost:".HOST."
";

$conn=mysql_connect(DB_HOST,DB_USER,DB_PASS);

mysql_select_db(DB_NAME);

/*

if($conn)

{

echo"Connecttodatabasesucessfully.connectionid:".$conn."
";

}

else

{

echo"Connecttodatabasefailed.
";

}

*/

return$conn;

}

functionpconnect()

{

returnmysql_pconnect(DB_HOST,DB_USER,DB_PASS);

}

functiondisconnect($conn)

{

$close=mysql_close($conn);

/*

if($close)

echo"MySQLDatabasedisconnected.
";

else

echo"MySQLDatabasedisconnectingfailed.Pleasetryagain.
";

*/

}

functionquery($stmt,$conn)

{

returnmysql_query($stmt,$conn);//fromwww.w3sky.com

}

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);

}

}&n

bsp;

else

{

checkOnline($userid);

}

returngetOnlineNumber();

}

ui层:

ui_online.PHP

$online_num=getOnline();

echo"在线人数,注册用户".$online_num['user']."人,游客".$online_num['guest']."人";

您可能感兴趣的文章:PHP统计数值数组中出现频率最多的10个数字的方法PHP实现统计在线人数功能示例php版微信数据统计接口用法示例php简单统计中文个数的方法php英文单词统计器php使用文本统计访问量的方法PHP统计二维数组元素个数的方法php精确的统计在线人数的方法php中3种方法统计字符串中每种字符的个数并排序php计算数组不为空元素个数的方法php统计数组元素个数的方法使用php统计字符串中中英文字符的个数PHP编程计算文件或数组中单词出现频率的方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值