2011-06-24 16 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是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'請更新你的代碼:編輯:對不起,問題是標記的mysql,但示例顯示mysqli – Ibu

+0

顯示沒有用戶。 – markerpower

+0

可能是一個時區問題? (您保存的日期時間的時區,因爲user_last_login可能與您在查詢中使用的日期時間不同) –