|
|
|
|
|
для: Рома
(14.01.2010 в 19:57)
| | Я вообще делаю проще: завожу для каждого юзера сессию, куда кладу время последнего обновления темы:
$_SESSION['forum'][$theme['theme_id']]=$theme['last_post'];
в итоге просто остается проверять состояние переменной в сессии, если она есть и равна той, что в базе - тема прочитанная, иначе - нет. | |
|
|
|
|
|
|
|
для: Рома
(14.01.2010 в 17:58)
| | спасибо, принцип понял, авторизацию подкорректировал, остался один ньюанс. Если на сайте 12 разделов, плюс хотя бы с десяток форумов, то это на 1000 зарегеных будет 22000 записей в таблице, что сильно увеличит время запроса. Может стоит сделать ключами все поля + ключ id юзера, для более скоростного поиска или дать каждому разделу свое поле, а при открытии/закрытии нового раздела - добавлять/удалять поля, тогда каждому зарегестрированному будет по 1 строке, а не по 22. Наверное все-таки второй, да? | |
|
|
|
|
|
|
|
для: Loki
(14.01.2010 в 16:10)
| | щас попробую | |
|
|
|
|
|
|
|
для: Рома
(14.01.2010 в 14:17)
| | >>Я бы еще удалял записи с id_tema тем которые созданы более сколькито дней назад.
>Удаленные запири опять же станут отображаться не прочитанными. Я понимаю, что нужно создавать отдельную таблицу, точнее уже создал, но не получается добиться корректной работы.
неправильно выразился немного. эти записи безсомнения нужно удалять для уменьшения базы данных, тк они не несут никакой информации полезной. А помимо этого нужно рассматривать для выделения жирным только темы созданные не более определенного срока назад | |
|
|
|
|
|
|
|
для: Рома
(14.01.2010 в 15:54)
| | Хранят две метки: время последнего просмотра и время последней авторизации. Первую обновляют при запросе каждой страницы, второй же присваивают значение первой в момент авторизации. | |
|
|
|
|
|
|
|
для: Рома
(14.01.2010 в 15:56)
| | Вопрос был к DAb®o. В его схеме никаких меток не предусмотрено. | |
|
|
|
|
|
|
|
для: Рома
(14.01.2010 в 15:54)
| | вообще интересует работа со временем посещения форума - отметился на форуме, значит видел все темы, в которых время добавления постов больше последнего визита. | |
|
|
|
|
|
|
|
для: Loki
(14.01.2010 в 14:24)
| | изменится время последнего посещения на текущую метку времени | |
|
|
|
|
|
|
|
для: Саня
(14.01.2010 в 14:29)
| | только время последнего визита имеет свойство меняться. Если меня не было в одном форуме неделю, а в другой я каждый день захожу, то время последнего посещения для каждого из форумов должно быть свое. Это не проблема, проблема определить момент изменения времени отдельного форума. На что можно полагаться в этом случае? Считать время проведения в каждом форуме плохая идея по двум причинам.
единственое, что могу сделать наверняка, это отследить любой промежуток времени (час например), по истечении которого изменится время последнего посещения всего сайта и вынести этот промежуток пользователю в настройки. А вот как это связать с временем посещения каждого форума? | |
|
|
|
|
|
|
|
для: Рома
(14.01.2010 в 01:31)
| | Запоминается время последнего визита, а в списке форумов, в ячейке "новых постов", выводить количество постов, дата создания которых больше даты последнего посещения форума юзером. | |
|
|
|
|