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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: новые сообщения в старые
 
 автор: FaStY   (25.02.2006 в 21:36)   письмо автору
 
 

Как сделать, чтобы когда я просмотрел тему, она переставала быть новой(новая новость - это та, которая была написана со времени последнего входа).Я делал, чтобы те сообщения, которые были написаны с последнего входа показывались как новые(появлялась картинка НОВОЕ сообщение), как теперь мне сделать, чтобы после прочтения(открытия страницы), они становились старыми :)

   
 
 автор: ZC   (25.02.2006 в 22:58)   письмо автору
 
   для: FaStY   (25.02.2006 в 21:36)
 

Если Вы используете MySQL, то можно создать у каждой темы параметр отвечающий за новизну темы. То есть при первом посещении темы этот параметр равняется 1. А если тема только создана, то этот параметр соответственно равняется нулю.

P.S.
Это один из способов реализации этой задачи. А так можно сделать это по разному. Можно ориентироваться во времени создания темы, то есть если с момента создания прошло достаточное количество времени то выводить тему как старую. Еще можно для каждой темы создать файл, и если тему только что прочитали, то удалить этот самый файл.

   
 
 автор: FaStY   (25.02.2006 в 23:05)   письмо автору
 
   для: ZC   (25.02.2006 в 22:58)
 

вот как у меня обстоят дела: у меня новые сообщения ставятся по времени(т,е, если это сообщение написано после последнего входа на форум, то оно является новым).Во-первых это форум, т.е. с единичками не получится, так как пользователей больше чем один.

   
 
 автор: Loki   (25.02.2006 в 23:47)   письмо автору
 
   для: FaStY   (25.02.2006 в 23:05)
 

Не знаю как сделано во "взрослых" форумах, но ведь можно считать все что старше месяца прочитанным по умолчанию, а информацию хранить только для сравнительно новых тем. Или для каждого пользователя хранить информацию, например, по последним 100 темам. В общем, простого пути тут нет. Все равно в той или иной степени придется изобретать велосипед:(

   
 
 автор: FaStY   (26.02.2006 в 00:01)   письмо автору
 
   для: Loki   (25.02.2006 в 23:47)
 

так мне нужно, чтобы сразу это сообщение не было новым, после того, как я открыл страницу и проыитал его, при следующем обновлении оно уже доблно выглядеть как старое

   
 
 автор: FaStY   (26.02.2006 в 23:40)   письмо автору
 
   для: FaStY   (26.02.2006 в 00:01)
 

вопрос в cheops, хотя и к остальным тоже :) Рационально сделать точно такое же, как и на этом форуме с базе данных талицу last_vistit, только не для форум, а для тем? Ведь потом тем будет очень много и в этой таблице будет много данных?

   
 
 автор: cheops   (27.02.2006 в 00:18)   письмо автору
 
   для: FaStY   (26.02.2006 в 23:40)
 

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

   
 
 автор: FaStY   (27.02.2006 в 15:39)   письмо автору
 
   для: cheops   (27.02.2006 в 00:18)
 

нее, форум расчитывается на большую посещаемость...А не подскажите, как сделать, по-другому, чтобы новые сообщения становились старыми?

   
 
 автор: cheops   (27.02.2006 в 23:51)   письмо автору
 
   для: FaStY   (27.02.2006 в 15:39)
 

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

   
 
 автор: FaStY   (28.02.2006 в 13:40)   письмо автору
 
   для: cheops   (27.02.2006 в 23:51)
 

а как тогда сообщения в phpbb или ipb? там же тоже такое есть, а в базе я такой таблицы не нашел.

   
 
 автор: Loki   (28.02.2006 в 14:26)   письмо автору
 
   для: FaStY   (28.02.2006 в 13:40)
 

а в cookie смотрели?

   
 
 автор: FaStY   (28.02.2006 в 15:06)   письмо автору
 
   для: Loki   (28.02.2006 в 14:26)
 

ааа, ну да, точно, нашел что-то типа того:)

   
 
 автор: FaStY   (28.02.2006 в 15:29)   письмо автору
 
   для: FaStY   (25.02.2006 в 21:36)
 

А вот если так сделать:
сделать таблицу, в которой будет записываться все прочитанные темы и дату прочтения, тока вот я не знаб как потом выбирать новые сообщения :) Или сказал тоже самое, что и на вашем форуме сделано?

   
 
 автор: Loki   (28.02.2006 в 16:43)   письмо автору
 
   для: FaStY   (28.02.2006 в 15:29)
 

Довольно жирно получится: эта тема имеет номер 13650, а зарегистрировано 2500 пользователей.
то есть в пределе такая таблица могла бы содержать 34 125 000 записей. Понятно, что это потолок и их будет много меньше. Но ведь и форум это не самый активно посещаемый.
То есть реализовать-то можно, но перед этим хорошо подумать:)
Ну и как я говорил: хранить в этой таблице данные только за 1-2 месяца. остальнгое автоматически считать прочтенным.

   
 
 автор: FaStY   (28.02.2006 в 17:52)   письмо автору
 
   для: Loki   (28.02.2006 в 16:43)
 

да, эт точно... так какой лучшый выход:)?

   
 
 автор: Loki   (28.02.2006 в 18:00)   письмо автору
 
   для: FaStY   (28.02.2006 в 17:52)
 

если бы был лучший выход, он был бы реализован на всех форумах:)
а тут приходится искать компромисс между производительностью, удобством и размером кода.

   
 
 автор: FaStY   (28.02.2006 в 18:10)   письмо автору
 
   для: Loki   (28.02.2006 в 18:00)
 

да мне бы главное удобство. И чеб работало :)

   
Rambler's Top100
вверх

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