Mysql
 sql >> Base de données >  >> RDS >> Mysql

Statut hors ligne de l'utilisateur en ligne - problème de statut hors ligne

Sans connaître la structure de votre base de données, c'est une sorte de supposition.

if ($time >= $loggedtime)

Vous comparez une chaîne comme '2012-11-01 10:10:10' avec n'importe quel $time est dans votre BD. Cela semble être le problème ici. Vous pourriez/devriez utiliser des horodatages UNIX. Ils peuvent être comparés facilement.

Si $time étaient un horodatage UNIX que vous pourriez simplement faire :

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

MODIF :

Modifiez votre requête pour obtenir un horodatage UNIX pour online

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

EDIT2 : Pour que ce soit plus clair :Dans votre première version vous compariez deux Dates sous la forme '2012-11-01 10:10:10'

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

Cela ne peut pas fonctionner en PHP - c'est comme faire :

if ('apples' < 'bananas')

Il faut comparer les chiffres. Par conséquent, j'ai suggéré d'utiliser des horodatages Unix qui peuvent être facilement comparés.