有些地方可能说的不明白,不明白的算了,明白的可以照做,我是照葫芦画瓢...PHP我是刚刚接触,啥也不懂,只是有点思路改了改....大家不要笑我啊.............
数据库中 DV_user 表增加 user_online 字段 ,int类型,默认0,11位
需要在 dispbbs.php 中 187和190行 增加user_onlne字段 ,user_online FROM {$dv}user u WHERE u.userid IN ({$postuseridlist}
显示地方与蓝色发表的显示 金币、金钱、魅力的方法帖子一样!!
更新部分:用户活动时候更新
修改 inc/dv_clsmain.php 557行左右,找到
$ibrowser = sysinfo($_SERVER["HTTP_USER_AGENT"]).'|'.browser($_SERVER["HTTP_USER_AGENT"]);
$db->query("Insert Into {$dv}online (id,username,userclass,ip,actforip,startime,lastimebk,boardid,browser,stats,usergroupid,actcome,userhidden,userid) Values ('$userid','$userinfo[username]','$userinfo[userclass]','$usertrueip','$seccode','".TIME_NOW."','".TIME_NOW."','$boardid','$ibrowser','$stats','$usergroupid','$actcome','$userhidden','$userid')");
//$deltime = dateAdd('s',-$fsetting['onlinetimeout']*60,date('Y-m-d H:i:s'));
$deltime = TIME_NOW - ($fsetting['onlinetimeout'] * 60);
$db->query("Delete From {$dv}online Where lastimebk<'$deltime'");
}else{
下面修改为
//$reflashtime = datediff("S",$userinfo['lastimebk'],date('Y-m-d H:i:s'));
$reflashtime = TIME_NOW - $userinfo['lastimebk'];
$_onlie_time = intval($reflashtime/60); //此处是计算分钟
if($_onlie_time > intval($fsetting['onlinetimeout'])){$_onlie_time = intval($fsetting['onlinetimeout']);} //防止长时间挂机用户
if(($reflashtime > 120 && $boardid == $userinfo['boardid']) || $boardid != $userinfo['boardid'] || $isupdate == 1){
$db->query("Update {$dv}online Set lastimebk = '".TIME_NOW."',boardid = '$boardid',stats = '$stats',actforip = '$seccode',usergroupid = '$usergroupid' Where userid = '$userid'");
$db->query("UPDATE {$dv}user SET user_online=user_online+{$_onlie_time} WHERE userid='{$userid}'"); //此处更新
}
}
相关图片如下

[此帖子已经被作者于2007-08-06 17:12:56编辑过]