原文:[url]http://tutorial.jcwcn.com/Web-Design/PHP/Web-Traffic-Analysis/2007-08-24/3025.html[/url]
CREATE TABLE `user_online` (
`session` char(100) NOT NULL default '',
`time` int(11) NOT NULL default '0'
) TYPE=MyISAM;
`session` char(100) NOT NULL default '',
`time` int(11) NOT NULL default '0'
) TYPE=MyISAM;
使用你的mysql客户端工具建立数据库表
<?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();
// 打开多个浏览器页面测试下
?>
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();
// 打开多个浏览器页面测试下
?>
根据自己情况修改数据库配置。
本文转自 xcf007 51CTO博客,原文链接:http://blog.51cto.com/xcf007/108560,如需转载请自行联系原作者