आपकी DB संरचना को जाने बिना यह एक तरह का अनुमान है।
if ($time >= $loggedtime)
आप '2012-11-01 10:10:10' जैसी स्ट्रिंग की तुलना किसी भी $time
. से कर रहे हैं आपके डीबी में है। यह यहाँ समस्या प्रतीत होती है। आप 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-01 10:10:10' के रूप में दो तिथियों की तुलना कर रहे थे
if ('2012-11-01 10:10:10' < '2012-11-02 10:10:10')
यह PHP में काम नहीं कर सकता - यह ऐसा करने जैसा है:
if ('apples' < 'bananas')
आपको संख्याओं की तुलना करनी होगी। इसलिए मैंने यूनिक्स टाइमस्टैम्प का उपयोग करने का सुझाव दिया जिसकी तुलना आसानी से की जा सकती है।