4 голоса 2402 просмотра 3.09.2016 / 10:32
aNNiMON
Для гостей будет, как и в других модулях, показываться количество новых за последние 3 дня, а вот как быть с зарегистрированными юзерами? Хранить статус прочтения абсолютно каждого вопроса неэффективно. Что подскажете по этому поводу?
Изм. aNNiMON
от 4.09.2016 / 21:11
Ответы
3 голоса
Для юзеров завести отдельное поле что-то типа 'questions_later_than', которое будет учитываться при подсчёте новых вопросов. Если, допустим, прошло три дня с последнего обновления поля 'questions_later_than', то обновлять его и удалять из джойн таблицы все записи для этого юзера с вопросами ранее, чем 'questions_later_than'. Код на SQLFiddle с комментариями демонстрирующий такое решение: http://sqlfiddle.com/#!9/e009f/1/0
Изм. Oak
от 3.09.2016 / 15:48
1 голос 1 голос
И, да, как-то неохота при добавлении вопроса добавлять 4000 записей (на каждого юзера ведь)
Изм. aNNiMON
от 3.09.2016 / 11:13
0 голосов # 6.09.2016 / 18:33
Пользователь удалён
Все очень просто- сделать класс с нужными методами и подключать его при авторизации
0 голосов 0 голосов 0 голосов ⁃ Появляется новый вопрос – +1 к непрочтённым; ⁃ После прочтения, соответственно, – удалить из списка непрочтённых. Как это работает на форуме?
Изм. kalterfx
от 3.09.2016 / 10:42
Всего: 7
|
Реклама |