//清除不在线人员
mysql_query("delete from {$db['online']} where time<now()-$online_limit;");
//加入在线名单
if ($_SESSION['logininfo']) {
$result = mysql_query("select * from {$db['online']} where userid='{$_SESSION['logininfo']['loginid']}';");
if ($res = mysql_fetch_array($result)) {
mysql_query("update {$db['online']} set time=now() where userid='{$_SESSION['logininfo']['loginid']}';");
} else {
mysql_query("insert into {$db['online']} values('{$_SESSION['logininfo']['loginid']}','{$_SERVER['REMOTE_ADDR']}',now())");
}
} else {
$result = mysql_query("select * from {$db['online']} where IP='{$_SERVER['REMOTE_ADDR']}' and userid='------';");
if ($res = mysql_fetch_array($result)) {
mysql_query("update {$db['online']} set time=now() where IP='{$_SERVER['REMOTE_ADDR']}'and userid='------';");
} else {
mysql_query("insert into {$db['online']} values('------','{$_SERVER['REMOTE_ADDR']}',now());");
}
}
}
//在线用户列表函数
function online_list()
{
global $db;
$conn = mysql_pconnect($db['host'],$db['user'],$db['password']);
mysql_select_db($db['db']);
//会员在线
$result = mysql_query("select a.userid as id,b.nike_name as nikename from {$db['online']} a,{$db['user_tbl']} b where a.userid=b.loginid ;");
while ($res = mysql_fetch_array($result)) {
if ($res['nikename'] == "") {
$res['nikename'] = $res['id'];
}
$login .="{$res['id']}({$res['nikename']})<br />";
}
$result = mysql_query("select IP from {$db['online']} where userid='------';");
while ($res = mysql_fetch_array($result)) {
$login .="客人<br />";
}
return $login;
}
======
在线统计数据表
CREATE TABLE `online` (
`userid` char(20) NOT NULL default '',
`IP` char(16) NOT NULL default '',
`time` timestamp(14) NOT NULL
) TYPE=MyISAM COMMENT='在线人员';
CREATE TABLE `user` (
`id` int(10) unsigned zerofill NOT NULL auto_increment,
`loginid` varchar(20) NOT NULL default '',
`nike_name` varchar(20) NOT NULL default '',
`password` varchar(33) NOT NULL default '',
.
.
.
PRIMARY KEY (`id`)
) TYPE=MyISAM COMMENT='用户登录及注册信息' AUTO_INCREMENT=14 ;