Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > 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 |
создаешь таблицу типа `foo_last_visits`, делаешь там поля, например, `topic_id`, `visit_time` и `user_name`, при заходе на страничку, соответственно, вставляешь туда id топика, текущее время (time()) и имя юзера, чтобы узнать сколько и кого сейчас в топике делаешь выборку `user_name`, где `topic_id` = id топика и `visit_time` > time()-300 300 - количество секунд, после захода, в течение которого юзер считается как "в теме" на крон вешаешь очистку устаревших значений или как более продвинутый, но и более тяжелый вариант - добавить еще `user_id` и вместо вставки новой записи UPDATE-ить старую, таким образом не надо будет чистить базу и инфа будет более корректная ![]() |
Автор: UADeveloper 9.7.2007, 16:13 |
А зачем то тут крон? ![]() |
Автор: PROme2 9.7.2007, 16:22 |
UADeveloper, тогда лучше сразу по-нормальному делать, т.е. через апдейт ![]() |
Автор: PROme2 9.7.2007, 16:39 |
UADeveloper, не вижу смысла в этом только усложнит все и не даст никакой практической выгоды т.к. придется ставить дополнительную проверку на то, есть ли уже в базе запись с этим юзер_ид (чтобы не создавать дублей), также нужно добавлять дополнительный запрос чтобы выбрать старую запись и т.д., имхо |
Автор: Sniper 10.7.2007, 09:08 |
Ух. Прочитал, понял мало, но пойду реализовывать ![]() |