こんにちは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/>';
}
新しいアプローチ
新しいアプローチについては、これを確認してくださいユーザーオンラインオフラインステータス-オフラインステータスの問題