简单的PHP 在线人数统计<br /> class HanroadClass <br /> { <br /> /**//********************************** <br /> 功 能:统计在线人数,可以分别统计每一页在线人数 <br /> 参 数:$page,需要统计的页面(函数必须在该页面执行) <br /> $time_slot:时间间隔(单位:秒) <br /> 返回值:混合数组,其中会员名称部分为二维数组 <br /> ***********************************/ <br /> //-------------------- <br /> #数据表:hr_online <br /> #hr_ip varchar(15):IP地址 <br /> #hr_page varchar(20):页面名称 <br /> #hr_time int(10) :登陆时间 <br /> #hr_user varchar(20):用户名 <br /> //-------------------- <br /> function HrOnline($page,$time_slot,$hr_user) <br /> { <br /> //当前时间和IP地址和用户 <br /> $cur_time = time(); <br /> $cur_ip = $_SERVER['REMOTE_ADDR']; <br /> $hr_user==&quot;&quot;?$hr_user=&quot;guest&quot;:$hr_user=$hr_user; <br /> //删除数据表中过期的信息和相同IP地址的数据 <br /> $sql = &quot;delete from hr_online where $cur_time-hr_time&gt;$time_slot &quot;; <br /> $sql.= &quot;or hr_ip='&quot;.$cur_ip.&quot;'&quot;; <br /> mysql_query($sql); <br /> //插入新数据 <br /> $sql = &quot;insert into hr_online(hr_ip,hr_page,hr_time,hr_user)values(&quot;; <br /> $sql.= &quot;'&quot;.$cur_ip.&quot;','&quot;.$page.&quot;','&quot;.$cur_time.&quot;','&quot;.$hr_user.&quot;')&quot;; <br /> mysql_query($sql); <br /> <br /> //读出在线总人数和他们的用户名 <br /> $sql = &quot;select * from hr_online where hr_page='&quot;.$page.&quot;'&quot;; <br /> $query = mysql_query($sql); <br /> $total = mysql_num_rows($query); <br /> while($hobj=mysql_fetch_object($query)) <br /> { <br /> static $sI = 0; <br /> $user_info[$sI] = $hobj-&gt;hr_user; <br /> $sI++; <br /> } <br /> //读出访客数量 <br /> $sql = &quot;select * from hr_online where hr_page='&quot;.$page.&quot;' and hr_user='guest'&quot;; <br /> $guest = mysql_num_rows(mysql_query($sql)); <br /> return array($total,$guest,$user_info); <br /> } <br /> }
返回顶部 留言