Пользователь онлайн офлайн статус - проблема статуса офлайн

Сначала это связанный вопросPHP: статус оффлайн Но так как мой подход немного отличается и проблема тоже, я подумал, что новый вопрос будет лучше.

Теперь я добавил один столбец в таблицу qa_users, который называется «онлайн», который вставляет / обновляет время регистрации и сохраняет обновления при взаимодействии с пользователем (я не уверен, правильно это или нет)

Теперь он отображает пользователей онлайн, как только они вошли в систему, но проблема возникает после выхода из системы, они сохраняют статус отображения как онлайн и никогда не переходят в автономный статус.

Я думаю, что-то не так с моим условным кодом сравнения времени, но что я не знаю.

Пожалуйста, найдите ниже код, что я использую.

$loggedtime = date('Y-m-d h:i:s', time()-300); // 5 minutes

$query = 'SELECT userid, handle, online FROM ^users ORDER BY userid ASC';           
$result = qa_db_query_sub($query);  

while($ids = mysql_fetch_array($result)){

    $online = $ids['online'];
    $userid = qa_get_logged_in_userid();

    if(qa_is_logged_in()){
        $update = 'UPDATE ^users SET online = NOW() WHERE userid = '.$userid.'';

        qa_db_query_sub($update);
    }

    $time = $ids['online'];

    if ($time >= $loggedtime){ // i have tried with $loggedtime > $time too
        echo '<li>'.$ids['handle'].' online</li>';
    } else {
        echo '<li>'.$ids['handle'].' offline</li>';
    }               

}

Ответы на вопрос(2)

Ваш ответ на вопрос