我无法获得过去10分钟内在线用户的列表。
$online = mysqli_query($db_server,"SELECT * FROM users WHERE DATE_SUB(NOW(), INTERVAL 10 MINUTE) <= user_last_login") or die("Error: ".mysqli_error($db_server));
while ($users_online = mysqli_fetch_array($online))
{
$users_on = $users_online['user_name'];
echo $users_on;
}
user last_login是type datetime
答案 0 :(得分:6)
$ten_minutes_ago = time() - (60 * 10);
$datetime = date("Y-m-d H:i:s", $ten_minutes_ago);
$online = mysqli_query($db_server,"SELECT * FROM users WHERE user_last_login >= '$datetime'") or die("Error: ".mysqli_error($db_server));
while ($users_online = mysqli_fetch_array($online)) {
$users_on = $users_online['user_name'];
echo $users_on;
}
答案 1 :(得分:1)
我认为你可以直接使用MySQL日期函数,你可以使用以下查询。
SELECT * FROM users WHERE TIMESTAMPDIFF(MINUTE,user_last_login,NOW()) < 10;
有关更多参考资料,请参阅 http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html