gpt4 book ai didi

PHP:在线离线状态

转载 作者:行者123 更新时间:2023-11-29 05:32:59 25 4
gpt4 key购买 nike

嗨,自从 3 小时以来,我一直在努力完成这项工作,但没有得到我想要的结果。我想显示在线和离线状态的用户列表。

这是表格

这里是我尝试获取状态结果的内容。

$loggedtime = time() - 300; // 5 minutes

$query = 'SELECT userid, handle FROM ^users WHERE loggedin = '.$loggedtime.' ORDER BY userid ASC';

// below are scripts function qa_ pleses refer this http://www.question2answer.org/functions.php

$result = qa_db_query_sub($query);
$users = qa_db_read_all_assoc($result);

$row = mysql_fetch_array($result);

if($row['userid'] > $loggedtime){
echo $row['handle'].' is online';
} else {
echo $row['handle'].' is offline';
}

不是这样

foreach($users as $user){
if($user['userid'] > $loggedtime){
echo $user['handle']. ' is online';
} else {
echo $row['handle'].' is offline';
}
}

以上代码均无效。我是 MYSQL 的新手,PHP 只了解基础知识,所以请帮我解决这个问题。

编辑:我现在已经试过了,但没有用

foreach($users as $user){
if($user['loggedin'] > $loggedtime){
echo $user['handle']. ' is online';
} else {
echo $row['handle'].' is offline';
}
}

编辑 2

$query = "SELECT
userid, handle,
CASE
WHEN TIMESTAMPDIFF(SECOND, loggedin, NOW()) < 300
THEN 'Online'
ELSE 'Offline'
END AS 'status'
FROM ^users
ORDER BY userid";

$result = qa_db_query_sub($query);

while($user = mysql_fetch_array($result)){
echo $user['handle'] . '<BR/>';
}

新方法

请检查此新方法User online offline status - offline status issue

最佳答案

由于您修复了用户 ID 比较,让我们解决下一个问题..

您正在尝试将字符串 DATE 与 unix 时间戳进行比较。让我们将它们设为相同类型并进行比较:

foreach($users as $user)
{
$user_time = strtotime($user['loggedin']);
if($user_time > $loggedtime)
{
echo $user['handle']. ' is online';
} else {
echo $row['handle'].' is offline';
}
}

总体而言,这不是解决此问题的最佳方法,但它可能对您有用。上面的数据库解决方案可能是最好的。

关于PHP:在线离线状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13201579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com