CREATE TABLE `user_online` (
`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();
// 開啟多個瀏覽器頁面測試下
?>
轉自:http://hi.baidu.com/fanglor/blog/item/55eb194bbb9026fc83025c5c.html