Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Status offline do usuário online - problema de status offline


Sem conhecer sua estrutura de banco de dados, é meio que um palpite.
if ($time >= $loggedtime)

Você está comparando uma string como '2012-11-01 10:10:10' com qualquer $time está no seu banco de dados. Este parece ser o problema aqui. Você pode/deve usar timestamps UNIX. Eles podem ser comparados facilmente.

Se $time eram um timestamp UNIX que você poderia fazer:
if ($time >= time()-300)

EDITAR:

Altere sua consulta para obter um timestamp UNIX para online
$query = 'SELECT userid, handle, UNIX_TIMESTAMP(online) as online FROM ^users ORDER BY userid ASC';

EDIT2: Para deixar mais claro:Na sua primeira versão você estava comparando duas datas no formato '2012-11-01 10:10:10'
if ('2012-11-01 10:10:10' < '2012-11-02 10:10:10')

Isso não pode funcionar em PHP - é como fazer:
if ('apples' < 'bananas')

Você tem que comparar os números. Portanto, sugeri usar timestamps unix que podem ser facilmente comparados.