mysql_query("SET TIME_ZONE='+4:00'");
А активность я проверяю следующим образом:
if(strtotime($User['visit']) > time() - $SecondOnline && $User['online'] == 1)
{
$OnlinePrint = '<span id="GreenSpan">(Online)</span>';
}
$SecondOnline - 300 секунд,
А именно не работает этот участок: strtotime($User['visit']) > time() - $SecondOnline
как это можно исправить?
Спустя 1 минута, 34 секунды (24.01.2012 - 20:08) Winston написал(а):
А если правильно переписать?
if((strtotime($User['visit']) > (time() - $SecondOnline)) && ($User['online'] == 1))
Спустя 11 минут, 29 секунд (24.01.2012 - 20:19) Ramzil_Nixon написал(а):
Winston, по прежнему так же
Спустя 6 минут, 5 секунд (24.01.2012 - 20:25) Winston написал(а):
Дата в каком формате хранится у тебя в $User['visit']
И ты уверен, что условие $User['online'] == 1 истинно?
И ты уверен, что условие $User['online'] == 1 истинно?
Цитата (Ramzil_Nixon @ 24.01.2012 - 19:06) |
А именно не работает этот участок: strtotime($User['visit']) > time() - $SecondOnline |
С чего ты взял?
Спустя 6 минут, 18 секунд (24.01.2012 - 20:31) asokol написал(а):
Может стоит просто убрать $User['online'] == 1? Потому что масло-масленное получается.
Спустя 53 секунды (24.01.2012 - 20:32) Ramzil_Nixon написал(а):
Цитата (Winston @ 24.01.2012 - 17:25) |
И ты уверен, что условие $User['online'] == 1 истинно? |
Да уверен. Дело в том, что активность, после истечения установленный даты не исчезает, то есть пользователь не выходит в оффлайн
2012-01-24 21:31:14 вот в таком формате
Спустя 41 секунда (24.01.2012 - 20:33) Ramzil_Nixon написал(а):
asokol, в таком случае, после выхоода пользователя через "Выход" пока не истечет время не изчеснет OnLine
Спустя 9 минут, 18 секунд (24.01.2012 - 20:42) Winston написал(а):
По-моему проще сделать таблицу для юзеров которые онлайн, и делать выборку вот так
То есть выбрать юзеров за последние 5мин.
SELECT *
FROM `onlines`
WHERE `vizit` < SUBTIME(NOW(), '0:05:0')
То есть выбрать юзеров за последние 5мин.
Спустя 2 минуты, 47 секунд (24.01.2012 - 20:45) Ramzil_Nixon написал(а):
Цитата (Winston @ 24.01.2012 - 17:42) |
То есть выбрать юзеров за последние 5мин. |
Это вроде лучше подходить для вывода общих количеств онлайн юзеров?
А в отдельности тоже так же будет?
Спустя 3 минуты, 47 секунд (24.01.2012 - 20:49) Winston написал(а):
Цитата (Ramzil_Nixon @ 24.01.2012 - 19:45) |
А в отдельности тоже так же будет? |
Ну в отдельности нужно выбрать юзера по ID или как ты определяешь пользователя? И сделать лимит, например так
SELECT *
FROM `onlines`
WHERE `vizit` < SUBTIME(NOW(), '0:05:0')
AND `userId` = '".$ID_юзера."'
LIMIT 1
Спустя 53 секунды (24.01.2012 - 20:50) Winston написал(а):
Но перед выборкой неплохо бы очищать таблицу от ненужных записей
DELETE
FROM `onlines`
WHERE `vizit` < SUBTIME(NOW(), '0:05:0')
Спустя 5 минут, 32 секунды (24.01.2012 - 20:55) Ramzil_Nixon написал(а):
Winston, хорошо, спасибо. Попробую
Спустя 14 часов, 44 минуты, 18 секунд (25.01.2012 - 11:40) Ramzil_Nixon написал(а):
Цитата (Winston @ 24.01.2012 - 17:08) |
А если правильно переписать? if((strtotime($User['visit']) > (time() - $SecondOnline)) && ($User['online'] == 1)) |
Это было правильно
Просто на коде надо было кое где (.) поставить
_____________
Миллионы приходят, уходят, не в них счастье. Самым важным на свете всегда будут люди в этой комнате, вот здесь, сейчас...