CREATE
TABLE
`user_online` (
`session` varchar ( 100 ) NOT NULL default '' ,
`time` int ( 11 ) NOT NULL default ' 0 '
) TYPE = MyISAM;
`session` varchar ( 100 ) NOT NULL default '' ,
`time` int ( 11 ) NOT 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 ();
// 打开多个浏览器页面测试下
?>
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