sql >> Databasteknik >  >> RDS >> Mysql

Användare online offline status - offline status problem

Utan att känna till din DB-struktur är det en slags gissning.

if ($time >= $loggedtime)

Du jämför en sträng som "2012-11-01 10:10:10" med vilken $time som helst finns i din DB. Detta verkar vara problemet här. Du kan/bör använda UNIX-tidsstämplar. De kan enkelt jämföras.

Om $time var en UNIX-tidsstämpel som du bara kunde göra:

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

EDIT:

Ändra din fråga för att få en UNIX-tidsstämpel för online

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

EDIT2: För att göra det mer tydligt:​​I din första version jämförde du två datum i formen '2012-11-01 10:10:10'

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

Detta kan inte fungera i PHP - det är som att göra:

if ('apples' < 'bananas')

Man måste jämföra siffror. Därför föreslog jag att använda unix-tidsstämplar som lätt kan jämföras.



  1. EXPORTERA SOM INFOGA UTTALANDE:Men i SQL Plus åsidosätter raden 2500 tecken!

  2. Hur man hoppar över rader som bryter mot begränsningar när man infogar data i SQLite

  3. Säkerhetskopiera dina MySQL-databaser

  4. Daglig databasbackup med Cron Job