Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Показывать отметку "новые сообщения" на форуме

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
nickstop
Отправлено: 28 Июня, 2014 - 05:46:42
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Февр. 2013  


Помог: 0 раз(а)




Всем привет!
Народ подскажите пожалуйста механизм работы отметки на форуме "непрочитанный топик", или "есть новые сообщения в теме". То есть, если человек заходил на форум отметил, что все темы прочитаны и вдруг появляется какое-нибудь обновлении в топике, то появится иконка на "ЕСТЬ НЕПРОЧИТАННЫЕ ТЕМЫ".

Есть идея писать время последнего посещения топика у куку, и потом сравнивать с временем захода на форум.

Или как вообще это делаетсяУлыбка
 
 Top
useruser
Отправлено: 28 Июня, 2014 - 09:00:36
Post Id


Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




Это мой вопрос. Радость На примере сообщений. У вас темы но всё аналогично.

Алгоритм такой:
----------
создать таблицу
id id_пользователя id_темы время_последнего_посещения_темы

При заходе пользователя в тему смотрим время_последнего_посещения_темы.
Если нет такой записи в таблице - создаём её.

Если есть запись - сравниваем время публикации сообщения с время_последнего_посещения_темы.
Если время публикации сообщения больше время_последнего_посещения_темы, то оно новое. Ставим метку.
Обновляем запись время_последнего_посещения_темы. Ставим текущее время.
---------

Понятно, что тем много. Их число увеличивается.
Поэтому можно ввести ограничение на количество отслеживаемых тем. Например 10 или 20. Всё равно редко кто смотрит сотую тему.
Если пользователь вошел в 11 тему, а уже есть 10 записей в таблице, то обновляем последнюю запись, с наименьшим временем (самую старую). Ставим ей id и прочее новой темы. такой круговорот.
 
 Top
nickstop
Отправлено: 28 Июня, 2014 - 13:06:09
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Февр. 2013  


Помог: 0 раз(а)




ЧертУлыбка не хотел так таблицу создавать, ну что ж... придется. сделаю, чтобы отображались новые сообщения в темах на которые подписался юзер.

СпасибУлыбка

(Отредактировано автором: 28 Июня, 2014 - 13:06:34)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB