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 (видимо серверное, если не прав, поправьте) на час меньше, но, тех. поддержка хостинга сказала, что на виртуальном хостинге изменить его нельзя. Есть какие-то предположения? Заранее, спасибо
  • Вопрос задан
  • 2379 просмотров
Решения вопроса 1
DevMan
@DevMan Куратор тега PHP
SELECT NOW() - INTERVAL 15*60 SECOND
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
FanatPHP
@FanatPHP
Чебуратор тега PHP
Удивительно, что оно вообще хоть как-то работает.
Что ты ожидаешь получить в результате выражения NOW() - 15*60? Что из чего ты здесь вычитаешь?
Ответ написан
Может тема и неактуальна, но напишу...
Чтобы не нагружать свой сервер, используйте сторонний Comet сервер. Вот пример реализации статуса пользователя (Онлайн...
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы