Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: "Новые сообщения" в обсуждении
 
 автор: vitroot   (20.11.2009 в 19:24)   письмо автору
 
 

Подскажите удобный вариант алгоритма? То есть принципа, как находить скрипту, что сообщения для данного пользователя действительно новые, непросмотренные?

  Ответить  
 
 автор: Slo_Nik   (20.11.2009 в 23:03)   письмо автору
 
   для: vitroot   (20.11.2009 в 19:24)
 

попробуйте сделать последнее время посещения юзером сайта, а потом сравнивайте время публикации сообщения с временем визита.
видел на многих сайтах/форумах, "последний визит dd-mm-yy".

  Ответить  
 
 автор: Desh   (20.11.2009 в 23:12)   письмо автору
 
   для: Slo_Nik   (20.11.2009 в 23:03)
 

Эмм, было бы хорошо, если пользователь сразу же читал письма, но а если он зайдёт на сайт, но письма сразу не прочитает, то, если я правильно понимаю, в следующий раз никакого предупреждения о "Непрочитанных сообщениях" не высветится.

Не легче просто добавить пункт в БД, который содержит информацию, прочитано сообщение пользователем или нет. К примеру, 1, если прочитано и 0, если нет.

Возможно, ошибаюсь)

  Ответить  
 
 автор: Valick   (21.11.2009 в 00:10)   письмо автору
 
   для: Desh   (20.11.2009 в 23:12)
 

1) да
2) легче? нет... но все зависит от того что вы хотите
я бы предложил скомбинировать 1 и 2 варианты, т.е. держать актуальную таблицу прочитанных / не прочитанных сообщений для каждого юзера к примеру в течение 1 месяца (типо не успел за месяц прочитать, ну сам и виноват). Надеюсь мысль ясна.

  Ответить  
 
 автор: Slo_Nik   (21.11.2009 в 01:55)   письмо автору
 
   для: Desh   (20.11.2009 в 23:12)
 

можно сделать, что при входе на сайт выводить сообщение "с момента Вашего последнего визита...." и пусть пользователь сам выбирает, читать ему сообщения или нет. не захотел читать, значит отсчёт вести следующим сообщениям.

  Ответить  
 
 автор: neadekvat   (21.11.2009 в 07:19)   письмо автору
 
   для: Desh   (20.11.2009 в 23:12)
 

Ваш вариант подходит скорее для личных сообщений, но никак не для тем на форумах и обсуждениях, имхо. Это ж какое количество "1" и "0" надо хранить в базе только для того, чтобы выделить/не выделить полужирным название темы.

  Ответить  
 
 автор: Desh   (21.11.2009 в 13:23)   письмо автору
 
   для: neadekvat   (21.11.2009 в 07:19)
 

Согласен.
Вчера когда вечером читал вопрос автора, показалось, что он и имел ввиду личные сообщения, отсюда и такой ответ) В принципе, да, если дело касается сообщений на форуме, то лучше оперировать с датами.

  Ответить  
 
 автор: vitroot   (21.11.2009 в 15:03)   письмо автору
 
   для: vitroot   (20.11.2009 в 19:24)
 

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

Время последнего логина на форуме учитывается. Но так я смогу только укзать ВСЕ сообщения, которые не прочитал пользователь.
А если пользователь никуда вообще не уходил? Просто в теме появились новые сообщения и их надо как-то ему показать...
Можно, конечно, при каждом открытии страницы с темой, заносить в сессии данные темы и времени просмотра, но это тоже будет жрать ресурсы...
Как вообще подобное реализуют в известных форумах?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования