2016-11-08 22 views
-2

這就是我所擁有的,但由於某種原因它給了我一個錯誤。 我怎麼能這樣做?如何通過從數據庫中抓取最後一次在線來檢查用戶是否在線?

function calc_online_users() 
{ 
    global $pdo; 
    $c = 0; 
    $till = date('Y-m-d h:i:s', strtotime("-5 minutes")); 
    $query = $pdo->query('SELECT * FROM members'); 
    while($result = $query->fetch(PDO::FETCH_ASSOC)) 
    { 
     if($result['uLastLogin'] > $till) 
     { 
      $c++; 
     } 
    } 
    return $c; 
} 
+3

你得到什麼錯誤? –

+0

這不是一個真正的錯誤。它沒有正確計算它。 有沒有更好的方法來做到這一點? –

+0

爲什麼你寫「它給我一個錯誤」,然後你說沒有錯誤?您是否試圖通過向我們提供不正確的信息來使這更有趣?請編輯你的問題,並清楚發生了什麼以及你期望發生什麼。直到我投票結束這個問題,因爲相互矛盾的信息不清楚你問的是什麼。 – Robert

回答

0

你可以使用SQL來計算的項目,只是獲取:

$minutes=5; 
$c=$pdo->query("SELECT COUNT(*) FROM members WHERE uLastLogin > DATE_SUB(NOW(), INTERVAL $minutes MINUTE)")->fetchColumn(); 
相關問題