Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как организовать "новые сообщения" 
V
    Опции темы
shurup_312
Дата 26.9.2008, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 27.3.2007

Репутация: нет
Всего: нет



И все таки ворачиваемся и ворачиваемся к теме как же все таки реализовать  на форуме "новые" и "прочитанные сообщения"? Ну народ, высказывайтесь, может кто-то такое делал, может кто-то готовый движок ковырл и видел как там это сделано? Просто очень нужно многим, а решения пока так я и не нашел и думаю многие так и не нашли.
PM MAIL   Вверх
Sunvas
Дата 26.9.2008, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 8
Всего: 89



А что тут трудного? У каждого сообщения есть своя дата публикации. Ты знаешь, когда пользователь зашел последний раз? - Да? - Вот и выбери из базы сообщения, с датой, большей, чем время последнего визита пользователя.


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
shurup_312
Дата 26.9.2008, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 27.3.2007

Репутация: нет
Всего: нет



не, не годится... пользователь вошел и вышел... и все сообщения которые до этого были непрочитанными потому как у них время было позже теперь будут прочитанными потому как он зашел и вышел а время последнего захода стало больше тех постов.
PM MAIL   Вверх
Sunvas
Дата 26.9.2008, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 8
Всего: 89



Тогда сделай, чтобы обновление даты последнего захода было не сразу, а через небольшую паузу. Во всяком случае именно это и есть ключевым моментом к решению проблемы.


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
ksnk
Дата 26.9.2008, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



shurup_312, Очевидно, у юзера хранить даты последнего посещения тем форума. Тем у форума, как правило, не очень много, можно просто сериализованным массивом хранить. Если массив стал большим - обнуляем его и выставляем прочитанными ВСЕ сообщения с даты последнего посещения. Можно сложную базу организовать, но это, imho, геморой smile


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Diabolus
Дата 27.9.2008, 02:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 12.6.2007

Репутация: нет
Всего: нет



Если сообщения - это топики, то новые - сверять ненешнее время (минус, скажем, сутки) со временем добавления сообщения.
Прочитано или нет - куки обычно.

Это сообщение отредактировал(а) Diabolus - 27.9.2008, 02:09
PM MAIL   Вверх
shurup_312
Дата 27.9.2008, 05:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 27.3.2007

Репутация: нет
Всего: нет



Цитата(ksnk @ 26.9.2008,  17:38)
shurup_312, Очевидно, у юзера хранить даты последнего посещения тем форума. Тем у форума, как правило, не очень много, можно просто сериализованным массивом хранить. Если массив стал большим - обнуляем его и выставляем прочитанными ВСЕ сообщения с даты последнего посещения. Можно сложную базу организовать, но это, imho, геморой smile

вот это был бы хороший вариант если бы не одно но. У меня просто сайт с базой около 3000 пользователей. Вот я и думаю, если даже 1000 пользователей будет и 200 тем то это 200 тысяч записей. Это же ой как много... Хотя вариант допустимый в принципе.
PM MAIL   Вверх
ksnk
Дата 27.9.2008, 07:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



shurup_312, У каждого юзера есть таблица со статистикой - время последнего посещения, ets... Вот туда добавить поле - "прочитанные темы" типа Text. Добавится 1 запись для каждого юзера.
В это поле ложить массив вида
array('ТЕМА_ID'=>%LAST_TIME%, ...) записывать его с помошью serialize, unserialize. 

В принципе, такой массив можно хранить и в куках. Если юзер скачет с компа на комп - это может быть не очень удобно, но в принципе - нормльное решение, я 


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
SneG0K
Дата 27.9.2008, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



Создай для сообщений отдельную базу. И в ней для каждого сообщения сделай поле допустим read. Пользователь прочел, поставь 1. Не прочел оставь 0

Добавлено через 2 минуты и 9 секунд
Определять сообщения по дате? А если пользователь их не прочитает? А просто зайдет? Лучше для каждого сообщения указывать переменную типа true и false
PM WWW Skype   Вверх
ksnk
Дата 27.9.2008, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



SneG0K, и у каждого сообщения будет 3000 записей про 3000 пользователей?


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Валерия
Дата 27.9.2008, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 10.3.2007

Репутация: 3
Всего: 8



А как это делаеться на форумах типа этого или phpbb или vbulitein?
PM MAIL   Вверх
SneG0K
Дата 27.9.2008, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



ksnk, зачем? Создать отдельную таблицу, с идентификатором пользователя и туда писать сообщения.
PM WWW Skype   Вверх
shurup_312
Дата 27.9.2008, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 27.3.2007

Репутация: нет
Всего: нет



Цитата

shurup_312, У каждого юзера есть таблица со статистикой - время последнего посещения, ets... Вот туда добавить поле - "прочитанные темы" типа Text. Добавится 1 запись для каждого юзера.
В это поле ложить массив вида
array('ТЕМА_ID'=>%LAST_TIME%, ...) записывать его с помошью serialize, unserialize. 

В принципе, такой массив можно хранить и в куках. Если юзер скачет с компа на комп - это может быть не очень удобно, но в принципе - нормльное решение, я 

а хороший вариант тоже, спасибо большое. Даже наверное пока лучший...
Цитата

Создай для сообщений отдельную базу. И в ней для каждого сообщения сделай поле допустим read. Пользователь прочел, поставь 1. Не прочел оставь 0

не пойдет, так как пользователь то не один, а из 3000 у емня допустим. поэтому для каждого сообщения надо делать количество полей по количеству юзеров при таком подходе...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0820 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.