DB構造を知らなくても、それは一種の推測です。
if ($time >= $loggedtime)
'2012-11-0110:10:10'のような文字列を$time
と比較しています DBにあります。これがここでの問題のようです。UNIXタイムスタンプを使用できます/使用する必要があります。それらは簡単に比較できます。
$time
の場合 ただできるUNIXタイムスタンプでした:
if ($time >= time()-300)
編集:
クエリを変更して、online
のUNIXタイムスタンプを取得します
$query = 'SELECT userid, handle, UNIX_TIMESTAMP(online) as online FROM ^users ORDER BY userid ASC';
編集2: より明確にするために:最初のバージョンでは、「2012-11-0110:10:10」の形式で2つの日付を比較していました
if ('2012-11-01 10:10:10' < '2012-11-02 10:10:10')
これはPHPでは機能しません-次のようになります:
if ('apples' < 'bananas')
数字を比較する必要があります。したがって、簡単に比較できるUNIXタイムスタンプを使用することをお勧めします。