2011-06-24 4 views
0

過去10分間にオンラインになったユーザーの一覧を取得できません。PHP MySQLユーザーオンラインで過去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は、私はあなたが直接MySQLの日付関数を使用することができると思うdatetime型

+1

?あなたは何を得ていますか – Ibu

+0

ユーザーは表示されず、<= to > =を変更すると、すべてのユーザーが表示されます。 – markerpower

+0

私は知っていますが、過去10分間にログインしたユーザーはいますか? – kufi

答えて

5
$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; 
    } 
+0

+1あなたは 'msqli'を書いてくださいあなたのコードを更新してください:EDIT:申し訳ありません、タグmysqlですが、例文にmysqliが表示されます – Ibu

+0

ユーザーは表示されません。 – markerpower

+0

タイムゾーンに問題はありますか? (あなたがuser_last_loginとして保存しているdatetimeのタイムゾーンは、クエリで使用しているdatetimeのタイムゾーンと異なる場合があります) –

関連する問題