Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Не прочитанные сообщения

Сообщения:  [1-4] 

 
 автор: cheops   (25.10.2004 в 09:51)   письмо автору
 
   для: Адоп Акробат   (25.10.2004 в 09:35)
 

Куки может потереть посетитель, кроме того они у него могут быть отключены... Хотя вот какую схему можно придумать. Т.е. определять новые сообщения по старому по временным меткам, но в рамках данной сессии посетитель может помечать отдельные сообщения как прочитанные, номера которых помещать в cookie с временем жизни ,скажем в час, или в сессии. Если номер первичного ключа сообщения присуствует в cookie, то его не следует помечать как новое.

Т.е. я предлагал сделать таблицу news из трёх полей
id_new INT
id_message INT
id_user INT

Кроме этого будет таблица посетителей users
id_user INT
// ... остальные поля

и таблица сообщений
id_message
// ... остальные поля

   
 
 автор: Адоп Акробат   (25.10.2004 в 09:35)   письмо автору
 
   для: cheops   (25.10.2004 в 09:31)
 

А с куками не справица?


А вот это можно поподробней?
id_new - первичный ключ таблицы
id_message - вторичный ключ таблицы сообщений
id_user - вторичный ключ таблицы посетителей

Извени но просто нипонил :(

   
 
 автор: cheops   (25.10.2004 в 09:31)   письмо автору
 
   для: Адоп Акробат   (25.10.2004 в 07:15)
 

Элегантное решение в голову чего-то не приходит (иначе бы оно было реализовано :). Так чтобы отдельное сообщение для отдельного посетителя можно было пометить как прочитанное. Можно завести таблицу new_message
id_new - первичный ключ таблицы
id_message - вторичный ключ таблицы сообщений
id_user - вторичный ключ таблицы посетителей
И при добавлении нового сообщения для каждого посетителя добавлять в эту таблицу запись. Пометка сообщения как прочитанного должна сводится к уничтожению записи из данной таблицы. Размер таблицы будет быстро увеличиваться, поэтому следует хранить сообщения только для ограниченного (скажем 100) числа последних тем и регулярно очищать таблицу от старых тем.

   
 
 автор: Адоп Акробат   (25.10.2004 в 07:15)   письмо автору
 
 

>Было бы красиво, но это потребует хранить в базе информацию о прочитанных и не
>прочитанных постах каждого посетителя, в то время как сейчас для этого
>испольуется только две временные метки размером по 4 байта. Было бы здорово,
>но это увеличит объём базы данных и уменьшит эффективность кода.

А можно поподробнее?

Просто мне скоро надобудет написать форум и мне хотелось бы зделать что бы показобались прочитанные и не прочитанные сообщения
А с куками это нельзя зделать?

http://softtime.ru/forum/read.php?id_forum=2&id_theme=474&page=1

   

Сообщения:  [1-4] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования