统计在线人数couter

原文:[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;
 
使用你的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();

// 打开多个浏览器页面测试下
?>
 
 
根据自己情况修改数据库配置。
 
 

你可能感兴趣的:(PHP,职场,休闲,Counter)