zoukankan      html  css  js  c++  java
  • [转]php统计在线人数

    CREATE TABLE `user_online` ( 
    `session` 
    varchar(100NOT NULL default ''
    `time` 
    int(11NOT NULL default '0' 
    ) TYPE
    =MyISAM;
    代码
    <?php 
    session_start(); 
    $session=session_id(); 
    $time=time(); 
     
    //$time_check用于检测是否超时 
    $time_check=$time-600//设置时间10分钟=10*60秒 
     
    $host="localhost"// 主机名 
    $username="root"// Mysql u用户名 
    $password="123456"// Mysql 密码 
    $db_name="test"// 数据库 名 
    $tbl_name="user_online"// 表格名 
     
    // 连接到服务器并选择数据库 

    mysql_connect("$host", "$username", "$password")or die("无法连接mysql服务"); 
    mysql_select_db("$db_name")or die("无法选择数据库"); 
     
    $sql="SELECT * FROM $tbl_name WHERE session='$session'"
    $result=mysql_query($sql);//执行查询 
     
    $count=mysql_num_rows($result); 
     
    //检查指定的session是否存在,否则插入记录 
    if($count=="0"){ 
    //指定的session不存在 
    $sql1="INSERT INTO $tbl_name(session, time)VALUES('$session', '$time')"
    $result1=mysql_query($sql1);//执行插入 
    }else { 
    $sql2="UPDATE $tbl_name SET time='$time' WHERE session = '$session'"
    $result2=mysql_query($sql2);//如果存在则修改连接时间 

     
    $sql3="SELECT * FROM $tbl_name"
    $result3=mysql_query($sql3); 
     
    $count_user_online=mysql_num_rows($result3);//统计session次数决定在线人数 
     
    echo "在线人数 : $count_user_online "
     
    //删除超时的session记录,10分钟之前连接的用户视为超时过期 
    $sql4="DELETE FROM $tbl_name WHERE time<$time_check"
    $result4=mysql_query($sql4); 
     
    mysql_close(); 
     
    // 打开多个浏览器页面测试下 
    ?>
    轉自:http://hi.baidu.com/fanglor/blog/item/55eb194bbb9026fc83025c5c.html
  • 相关阅读:
    java设计模式之建造者模式
    java设计模式之工厂模式
    Java并发—简介与线程创建
    Java基础—反射(转载)
    Eclipse中svn操作
    js常用方法总结
    Oracle学习笔记—常用函数
    Oracle学习笔记—connect、resource和dba三种权限(转载)
    JavaWeb—拦截器Interceptor
    JavaWeb—监听器Listener
  • 原文地址:https://www.cnblogs.com/Athrun/p/1827975.html
Copyright © 2011-2022 走看看