sql >> Base de Datos >  >> RDS >> Mysql

Estado en línea del usuario sin conexión:problema de estado sin conexión

Sin conocer la estructura de su base de datos, es una suposición.

if ($time >= $loggedtime)

Está comparando una cadena como '2012-11-01 10:10:10' con cualquier $time está en su base de datos. Este parece ser el problema aquí. Podría/debería usar marcas de tiempo UNIX. Se pueden comparar fácilmente.

Si $time fuera una marca de tiempo UNIX que podrías hacer:

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

EDITAR:

Cambie su consulta para obtener una marca de tiempo UNIX para online

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

EDIT2: Para que quede más claro:en su primera versión estaba comparando dos fechas en el formulario '2012-11-01 10:10:10'

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

Esto no puede funcionar en PHP, es como hacer:

if ('apples' < 'bananas')

Tienes que comparar números. Por lo tanto, sugerí usar marcas de tiempo de Unix que se pueden comparar fácilmente.