Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > кто сейчас на форуме?


Автор: Sniper 9.7.2007, 15:37
Как вот сделано такое?

2 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
1 Пользователей: Sniper

Автор: UADeveloper 9.7.2007, 15:53
В IPB например это сделано через MySQL.
Тобиш записывается id сесии в таблицу ну и другие параметры (время последнего обновления, скрилсо пользователь или нет)
Вообщем все оч. просто.

Автор: PROme2 9.7.2007, 16:11
Цитата(Sniper @  9.7.2007,  15:37 Найти цитируемый пост)
Как вот сделано такое?

создаешь таблицу типа `foo_last_visits`, делаешь там поля, например, `topic_id`, `visit_time` и `user_name`, при заходе на страничку, соответственно, вставляешь туда id топика, текущее время (time()) и имя юзера, чтобы узнать сколько и кого сейчас в топике делаешь выборку `user_name`, где `topic_id` = id топика и `visit_time` > time()-300
300 - количество секунд, после захода, в течение которого юзер считается как "в теме"
на крон вешаешь очистку устаревших значений
или как более продвинутый, но и более тяжелый вариант - добавить еще `user_id` и вместо вставки новой записи UPDATE-ить старую, таким образом не надо будет чистить базу и инфа будет более корректная smile 

Автор: UADeveloper 9.7.2007, 16:13
Цитата(PROme2 @  9.7.2007,  16:11 Найти цитируемый пост)
на крон вешаешь очистку устаревших значений
А зачем то тут крон? smile  При заходе на страницу - просто и чистить.

Автор: PROme2 9.7.2007, 16:22
UADeveloper, тогда лучше сразу по-нормальному делать, т.е. через апдейт smile 

Автор: UADeveloper 9.7.2007, 16:33
Цитата(PROme2 @  9.7.2007,  16:22 Найти цитируемый пост)
UADeveloper, тогда лучше сразу по-нормальному делать, т.е. через апдейт  
т.е. есно через Update а как же иначе?

Я имею виду:
сидят несколько пользователей на сайте, один долго не обновляется.
Заходит совсем другой пользователь и!
Те троки в базе у которых время вышло - просто удалять.
Ну и есно апдейт на свой же session_id(); ;)

Ну крон тут вообще ненужен ;)

Автор: PROme2 9.7.2007, 16:39
UADeveloper, не вижу смысла в этом
только усложнит все и не даст никакой практической выгоды т.к. придется ставить дополнительную проверку на то, есть ли уже в базе запись с этим юзер_ид (чтобы не создавать дублей), также нужно добавлять дополнительный запрос чтобы выбрать старую запись и т.д., имхо

Автор: Sniper 10.7.2007, 09:08
Ух.
Прочитал, понял мало, но пойду реализовывать  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)