Форум. Отображение непрочтенных тем.

Jass

Новичок
Форум. Отображение непрочтенных тем.

Доброго времени суток.

Начал писать форум и столкнулся со следующей проблемой:
требуется сделать подобие того, что используется в др. форумах (пхпбб, булетин и т.п.), т.е. когда пользователь заходит в форум ему подсвечиваются непрочтенные темы и сообщения... делать это по средствам БД я считаю не разумно, сравнивать дату сообщений с датой последнего захода, это вариант, но как сделать, чтобы после прочтения одного сообщения все остальные оставались подсвечеными, а прочтенное нет, низнаю... подскажите пожалуйста кто работал с этим!
 

WP

^_^
zerkms
Что ты курил?
Jass
> делать это по средствам БД я считаю не разумно
Аргументы?
 

Alexandre

PHPПенсионер
требуется сделать подобие того, что используется в др. форумах (пхпбб, булетин и т.п.),
А что мешает посмотреть, как это реализованно в других форумах?
устанавливал один форум, там было сделано это средствами БД.
 

Фанат

oncle terrible
Команда форума
если "по средствам" и "низнаю" - это шутка, то неудачная.
где хранить - вопрос десятый.
главное - что хранить. а хранить надо время захода в каждую тему. и сравнивать, соответственно, с временем последнего сообщения в ней.
 

Rammstein

PHPClub::News
serialize можно (всмысле один раз un, потом в сессию, по надобности сбрасывать в файл... но если разрастётся форум...), а лучше в БД. Можно и в сессии, смотря какого качества план...

-~{}~ 24.01.07 14:48:

Jass
Сохраняешь время просмотра темы. И сравниваешь с этим временем, а ни с временем последнего захода.
 

Фанат

oncle terrible
Команда форума
время последнего захода тоже нужно.
оно лежит в профиле пользователя, и показывает, откуда брать новые темы при следующим заходе.
вот такая вот, кривая система...
 

zerkms

TDD infected
Команда форума
WP
аргументы против?

а время именно последнего входа также удобнее хранить в сессии, а в БД записывать уже время текущего (см. последнего) входа
 

Фанат

oncle terrible
Команда форума
Давно я этот вопрос не задавал.
а кто знает какие форумы, в которых информация о просмотренных темах сохраняется и между сессиями?
 

Фанат

oncle terrible
Команда форума
круто.
а там есть ограничение по времени?
как мне мыслится, чтобы не было просадки по произвводительности, надо этот функционал ограничивать. То, что непрочитано за, скажем, неделю - автоматически становится таковым.
 

zerkms

TDD infected
Команда форума
Фанат
в общем то откуда просадка:
навсидку табла:
thread_id | user_id | date
тред + юзер - уникальный индекс
при выборке списка тредов делается ещё одна выборка: по списку отображаемых тредов, уид и дате
 

Фанат

oncle terrible
Команда форума
ну, тут не всё очевидно.
к примеру, топик многостраничный, а ты заходил только в первую страницу
 

Андрейка

Senior pomidor developer
мож где-то что-то не так, но...
20th April 2006 - 20:45 - и выше - непрочитано.. что было до 20 апреля не помню, но все, что ниже - не отмечено)) после перелогинивания пометки сохранились
 

zerkms

TDD infected
Команда форума
ну, тут не всё очевидно.
к примеру, топик многостраничный, а ты заходил только в первую страницу
;)))))
может тогда высчитать среднюю скорость чтения пользователя, засечь скроллбар и ещё подсчитать какие именно посты пользователь прочитал? ;)

имхо фенька не стоит того
 

Vallar_ultra

Любитель выпить :)
zerkms

Ну почему ж фенька не стоит того? Бесполезной информации не бывает в принципе, бывает отсутствие идей по её применению. ИМХО.
 

Rammstein

PHPClub::News
Помница когда первый раз сел за пхп, написал форум, который хранил эту информацию в куках) Потом я удивлялся почему тормозит :)
 

zerkms

TDD infected
Команда форума
Vallar_ultra
смысл в том - что пользователь её не заметит
я отталкиваюсь от того, что:
1. тред интересный - пользователь читает его полностью (фенька не нужна), подписывается - всё новое приходит на почту
2. тред не интересный - пользователь выходит после просмотра первой страницы (фенька не нужна)

м?
 

Фанат

oncle terrible
Команда форума
Vallar_ultra
ты точно уверен в том, что правильно понял феньку, о которой идет речь?
 
Сверху