所以,我有这个查询:
$alt_user_result = execute_pdo_query("SELECT U.username, U.user_id, T.last_activity_time
FROM user_skills S, users U
LEFT JOIN user_status T ON U.user_id=T.user_id
WHERE S.user_id=U.user_id and S.task_type_id=? and S.permission='Yes';",
array($tablerow['task_type_id']));
我正在做这样的事情来显示状态:
foreach($alt_user_result as $cur_user) {
if($cur_user['user_id'] != 1){
if( (time(date('Y-m-d H:i:s')) - time($cur_user['last_activity_time'])) < 300 ){
echo "<option value='$cur_user[user_id]'>$cur_user[username] | online</option>";
}
else if( (time(date('Y-m-d H:i:s')) - time($cur_user['last_activity_time'])) >300){
if( (time(date('Y-m-d H:i:s')) - time($cur_user['last_activity_time']))<1800 ) {
echo "<option value='$cur_user[user_id]'>$cur_user[username] | idle</option>";
}
}
else if( (time(date('Y-m-d H:i:s')) - time($cur_user['last_activity_time']))>1800 ){
echo "<option value='$cur_user[user_id]'>$cur_user[username] | offline</option>";
}
}
var_dump((time(date('Y-m-d H:i:s')) - time($cur_user['last_activity_time'])));
}
echo "<input type='submit' name='reassign' value='Reassign'/></select></form>";
}
在last_activity_time
我的表中是:datetime
。
表中的var_dump
结果仅为零并且不正确,如果我删除time()
它会显示时间之间的差异但time()
它会中断;
如果最后一个活动是 <= 5 分钟 => 状态,我需要做的是:在线
如果它 > 5 分钟并且 <= 30 错误 => 状态:空闲
如果 > 30 分钟 => 状态:离线。
我做错了什么?有任何想法吗?