Mysql
 sql >> Database >  >> RDS >> Mysql

Stato offline dell'utente - problema di stato offline

Senza conoscere la struttura del tuo DB è una specie di ipotesi.

if ($time >= $loggedtime)

Stai confrontando una stringa come '2012-11-01 10:10:10' con qualsiasi $time è nel tuo DB. Questo sembra essere il problema qui. Potresti/dovresti usare timestamp UNIX. Possono essere confrontati facilmente.

Se $time fosse un timestamp UNIX che potresti semplicemente fare:

if ($time >= time()-300)

MODIFICA:

Modifica la tua query per ottenere un timestamp UNIX per online

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

EDIT2: Per chiarire meglio:nella tua prima versione stavi confrontando due date nel modulo '2012-11-01 10:10:10'

if ('2012-11-01 10:10:10' < '2012-11-02 10:10:10')

Questo non può funzionare in PHP - è come fare:

if ('apples' < 'bananas')

Devi confrontare i numeri. Pertanto ho suggerito di utilizzare timestamp Unix che possono essere facilmente confrontati.