|
|
|
| >Было бы красиво, но это потребует хранить в базе информацию о прочитанных и не
>прочитанных постах каждого посетителя, в то время как сейчас для этого
>испольуется только две временные метки размером по 4 байта. Было бы здорово,
>но это увеличит объём базы данных и уменьшит эффективность кода.
А можно поподробнее?
Просто мне скоро надобудет написать форум и мне хотелось бы зделать что бы показобались прочитанные и не прочитанные сообщения
А с куками это нельзя зделать?
http://softtime.ru/forum/read.php?id_forum=2&id_theme=474&page=1 | |
|
|
|
|
|
|
|
для: Адоп Акробат
(25.10.2004 в 07:15)
| | Элегантное решение в голову чего-то не приходит (иначе бы оно было реализовано :). Так чтобы отдельное сообщение для отдельного посетителя можно было пометить как прочитанное. Можно завести таблицу new_message
id_new - первичный ключ таблицы
id_message - вторичный ключ таблицы сообщений
id_user - вторичный ключ таблицы посетителей
И при добавлении нового сообщения для каждого посетителя добавлять в эту таблицу запись. Пометка сообщения как прочитанного должна сводится к уничтожению записи из данной таблицы. Размер таблицы будет быстро увеличиваться, поэтому следует хранить сообщения только для ограниченного (скажем 100) числа последних тем и регулярно очищать таблицу от старых тем. | |
|
|
|
|
|
|
|
для: cheops
(25.10.2004 в 09:31)
| | А с куками не справица?
А вот это можно поподробней?
id_new - первичный ключ таблицы
id_message - вторичный ключ таблицы сообщений
id_user - вторичный ключ таблицы посетителей
Извени но просто нипонил :( | |
|
|
|
|
|
|
|
для: Адоп Акробат
(25.10.2004 в 09:35)
| | Куки может потереть посетитель, кроме того они у него могут быть отключены... Хотя вот какую схему можно придумать. Т.е. определять новые сообщения по старому по временным меткам, но в рамках данной сессии посетитель может помечать отдельные сообщения как прочитанные, номера которых помещать в cookie с временем жизни ,скажем в час, или в сессии. Если номер первичного ключа сообщения присуствует в cookie, то его не следует помечать как новое.
Т.е. я предлагал сделать таблицу news из трёх полей
id_new INT
id_message INT
id_user INT
Кроме этого будет таблица посетителей users
id_user INT
// ... остальные поля
и таблица сообщений
id_message
// ... остальные поля | |
|
|
|