Nuboskill
@Nuboskill
Начинающий web developer

Как грамотно вывести пользователей онлайн?

В общем, пишу небольшой чатик, лицезреть его можно здесь: sevstud.ru/chat
Но возникла проблема с блоком онлайн, сейчас она выводит всех пользователей, которые были активны в течении 15 минут через sql запрос:
$sql = mysql_query("SELECT * FROM users WHERE last_activity > (NOW() - 15*60)", $db);

В принципе, все работает корректно, однако есть один нюанс, когда ровное время (например, 9:00 или 8:00), он вытаскивает из базы ВСЕХ пользователей, вне зависимости от поля last_activity (там, кстати timestamp)
Не могу понять в чем проблема, пока есть только одно предположение, время на php - московское, время в поле timestamp (видимо серверное, если не прав, поправьте) на час меньше, но, тех. поддержка хостинга сказала, что на виртуальном хостинге изменить его нельзя. Есть какие-то предположения? Заранее, спасибо
  • Вопрос задан
  • 2380 просмотров
Решения вопроса 1
DevMan
@DevMan
SELECT NOW() - INTERVAL 15*60 SECOND
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
FanatPHP
@FanatPHP
Чебуратор тега РНР
Удивительно, что оно вообще хоть как-то работает.
Что ты ожидаешь получить в результате выражения NOW() - 15*60? Что из чего ты здесь вычитаешь?
Ответ написан
Может тема и неактуальна, но напишу...
Чтобы не нагружать свой сервер, используйте сторонний Comet сервер. Вот пример реализации статуса пользователя (Онлайн...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы