sql >> Database >  >> RDS >> Mysql

Gebruiker online offline status - probleem met offline status

Zonder uw DB-structuur te kennen, is het een beetje een gok.

if ($time >= $loggedtime)

Je vergelijkt een string zoals '2012-11-01 10:10:10' met wat dan ook $time staat in je DB. Dit lijkt hier het probleem te zijn. Je zou UNIX-tijdstempels kunnen/moeten gebruiken. Ze kunnen gemakkelijk worden vergeleken.

Als $time waren een UNIX-tijdstempel die je gewoon zou kunnen doen:

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

BEWERKEN:

Wijzig uw zoekopdracht om een ​​UNIX-tijdstempel te krijgen voor online

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

EDIT2: Om het duidelijker te maken:in je eerste versie vergeleek je twee datums in de vorm '2012-11-01 10:10:10'

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

Dit kan niet werken in PHP - het is alsof je doet:

if ('apples' < 'bananas')

Je moet cijfers vergelijken. Daarom stelde ik voor om Unix-tijdstempels te gebruiken die gemakkelijk kunnen worden vergeleken.



  1. geselecteerde gebruikers hebben meer dan één afzonderlijke records in mysql

  2. Waarom krijg ik Procedure verwacht parameter '@statement' van het type 'ntext/nchar/nvarchar'. wanneer ik sp_executesql probeer te gebruiken?

  3. PHP:Ja/nee bevestigingsdialoogvenster tonen

  4. Hoe Asin() werkt in PostgreSQL