|
16 / 16 / 10
Регистрация: 24.01.2014
Сообщений: 187
|
|
Как сделать проверку, прочитана ли тема?31.05.2014, 11:09. Показов 2095. Ответов 18
Метки нет (Все метки)
Пишу форумный движок на PHP + MySQL
Как реализовать проверку, прочитана ли тема или форум пользователем? Если хранить такую информацию в куках, то есть проблема переполнения, а если в БД, то будет очень много записей в таблице...
0
|
|
| 31.05.2014, 11:09 | |
|
Ответы с готовыми решениями:
18
как сделать проверку? |
|
368 / 406 / 165
Регистрация: 29.05.2014
Сообщений: 1,494
|
|
| 31.05.2014, 11:26 | |
|
В куках однозначно не вариант(другой комп, браузер и тю-тю). Что касается места в таблице ну сколько занимает 0 либо 1 в битах?
0
|
|
|
16 / 16 / 10
Регистрация: 24.01.2014
Сообщений: 187
|
|
| 31.05.2014, 11:29 [ТС] | |
|
В таблице планирую сделать такую структуру:
user_id - INT (11) - ID пользователя forum_id - INT (11) - ID форума topic_id - INT (11) - ID темы status - INT (1) - Статус (0 - непрочитано, 1 - прочитано) date - INT (25) - Дата добавления (записывается результат PHP функции time(), чтобы потом удалять старые записи)
0
|
|
|
368 / 406 / 165
Регистрация: 29.05.2014
Сообщений: 1,494
|
|
| 31.05.2014, 11:39 | |
|
Если экономить место тогда уж BIT а не INT для `status` и для `date` имхо луче DATE.
0
|
|
|
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
|
||
| 31.05.2014, 11:53 | ||
|
1
|
||
|
16 / 16 / 10
Регистрация: 24.01.2014
Сообщений: 187
|
|
| 31.05.2014, 13:07 [ТС] | |
|
0
|
|
|
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
|
||||||||||||
| 31.05.2014, 13:58 | ||||||||||||
1
|
||||||||||||
|
16 / 16 / 10
Регистрация: 24.01.2014
Сообщений: 187
|
|
| 31.05.2014, 20:45 [ТС] | |
|
Сделать проверку прочитанности темы вроде получилось... А как делать проверку прочитанности форума?
0
|
|
|
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
|
|
| 31.05.2014, 20:57 | |
|
0
|
|
|
16 / 16 / 10
Регистрация: 24.01.2014
Сообщений: 187
|
||
| 31.05.2014, 22:59 [ТС] | ||
0
|
||
|
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
|
||
| 31.05.2014, 23:19 | ||
|
0
|
||
|
16 / 16 / 10
Регистрация: 24.01.2014
Сообщений: 187
|
|||
| 31.05.2014, 23:24 [ТС] | |||
Не слишком затратно по ресурсам?
0
|
|||
|
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
|
||
| 31.05.2014, 23:46 | ||
|
Либо точно так же как и с темами, сделать для раздела такое же поле с прочитавшими. И считать что раздел прочитан уже после того как пользователь туда зашел, не обращая внимание на то прочитал ли он все темы или нет...
0
|
||
|
16 / 16 / 10
Регистрация: 24.01.2014
Сообщений: 187
|
|||
| 01.06.2014, 10:25 [ТС] | |||
0
|
|||
|
38 / 38 / 13
Регистрация: 22.07.2013
Сообщений: 197
|
|
| 03.06.2014, 10:08 | |
|
Я б такое ещё предположил:
сделать таблицу последних визитов юзера на определённые ресурсы. То есть первичный ключ, содержащий какой-нибудь хэш или UID, однозначно определяющий ресурс (форум, топик, статья и т.п.), id юзера и штамп его последнего визита туда. Для проверки прочитанности выбираются соответствующие строки из таблицы визитов и сравнивается время последнего обновления сабжа и время последнего захода туда юзера, если присутствует. Должно быть компактно, быстро и, что немаловажно, без замусоривания таблиц постов/топиков ненужной там инфой. При необходимости можно чистить устаревшие визиты.
1
|
|
|
16 / 16 / 10
Регистрация: 24.01.2014
Сообщений: 187
|
||
| 03.06.2014, 22:58 [ТС] | ||
Добавлено через 36 секунд но опять вопрос, как проверять прочитанность целого раздела?
0
|
||
|
38 / 38 / 13
Регистрация: 22.07.2013
Сообщений: 197
|
|
| 04.06.2014, 10:07 | |
|
Определиться с тем, по каким критериям ты считаешь раздел прочитанным, и вперёд.
0
|
|
|
16 / 16 / 10
Регистрация: 24.01.2014
Сообщений: 187
|
||
| 04.06.2014, 11:51 [ТС] | ||
0
|
||
|
38 / 38 / 13
Регистрация: 22.07.2013
Сообщений: 197
|
|
| 04.06.2014, 16:33 | |
|
Ну вот так и вычисляй. + кэширование и инвалидация кэша при обновлении сабжа.
А как готовые движки с этим сравляются, не смотрел?
0
|
|
| 04.06.2014, 16:33 | |
|
Помогаю со студенческими работами здесь
19
Как сделать проверку if ... then Как сделать проверку Как сделать проверку Как сделать проверку ? как сделать проверку Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
ПЛИС
zxcha1ka_ 27.01.2026
AHDL
Разработать программы для синтеза следующих устройств:
1. Параллельного регистра
4-х разрядного с синхронной загрузкой и асинхронным сбросом (обнулением);
Пoмoгитe пoжaлyйстa
|
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|