показ тем или сообщений непрочитанных пользователем - PullRequest
1 голос
/ 15 июня 2011

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

Я думал о таблице, которая содержит каждый посещенный thread_id, но эта таблица может стать довольно большой.

Какими способами можно удовлетворить это требование?

Ответы [ 3 ]

2 голосов
/ 15 июня 2011

Простая идея: запишите дату последнего посещения пользователем сайта / форума / подфорума.Это может быть настолько гранулированным, как поток или подфорум, как вам нравится.Возможно, создайте / обновите эту пару ключ-значение thread_id и last_visit_date в файле cookie.Возможно, храните это в cookie, а не в вашей RDBMS.Спросите: это критически важные данные или важная функция, которая может / не может противостоять потере данных?

Когда пользователь вернется, найдите все темы / сообщения, чье create_date больше last_visit_dateдля форума.

Я предполагаю, что процесс посещения форума (список тем) такой же, как и "просмотр".Предполагая, что, если информация была представлена, вы бы «просмотрели» заголовок темы, независимо от того, действительно ли вы в ней углубились.

0 голосов
/ 15 июня 2011

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

0 голосов
/ 15 июня 2011

Самым простым выходом, вероятно, было бы просто сохранить cookie во время последнего посещения пользователя и публиковать / редактировать запросы после этого. Вы не получаете точно все прочитанные темы, но большинство форумов, кажется, работают таким образом, в противном случае вам нужно где-то сохранить все прочитанные темы.

...