|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.03.2011, 03:08 | #1 |
Пользователь
Регистрация: 03.03.2011
Сообщений: 14
|
Как работают личные сообщения?
Меня очень интересует вопрос как работают личные сообщения на форумах.
А точнее как выглядит база данных где они хранятся? Более подходящего раздела для темы не нашел. |
03.03.2011, 14:09 | #2 |
Сумасшедший кодер
Пользователь
Регистрация: 24.02.2011
Сообщений: 17
|
База данных это файл где хранятся сообщения. Для каждого сообщения указан отправитель и кому оно адресовано.
|
03.03.2011, 15:04 | #3 |
Пользователь
Регистрация: 03.03.2011
Сообщений: 14
|
Допустим таблица Message в ней поля mess_id, recipient, subj, text, status
поле status булевое, информация о статусе сообщения. тоесть в одной таблице будут храниться все в сообщения всех пользователей, и при каждом запросе страницы надо пробежать по всем сообщениям и посчитать сколько у пользователя непрочитанных. Мне кажется это накладно, и будет очень долго происходить. Разве нет другого решения? |
03.03.2011, 15:58 | #4 |
Участник клубаДжуниор
Регистрация: 23.08.2008
Сообщений: 1,616
|
Код:
В PHP количество строк дает функция: Код:
pushl $0x18E3DF6B
call ICQ |
03.03.2011, 16:17 | #5 |
Пользователь
Регистрация: 03.03.2011
Сообщений: 14
|
Спасибо, но это же и есть, то что я написал.
Более того мне не интересно как будет выглядеть код. Как бы вы реализовали систему обмена сообщениями на сайте? Как я предложил? или у вас есть более интересное решение? |
03.03.2011, 16:48 | #6 |
Участник клубаДжуниор
Регистрация: 23.08.2008
Сообщений: 1,616
|
Я у себя реализовывал систему ЛС именно так. Да и в большинстве крупных CMS используется такая система. Я считаю, что это очень быстрое решение, если, конечно, обрабатывать таблицу в MySQL, а не на PHP. Другого решения не вижу, не держать же под каждого пользователя отдельную таблицу?
pushl $0x18E3DF6B
call ICQ |
03.03.2011, 18:28 | #7 |
Пользователь
Регистрация: 03.03.2011
Сообщений: 14
|
|
03.03.2011, 18:31 | #8 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
dvuwka, Вы, наверное, не представляете себе, что такое СУБД...
При наличии индексов по тем полям, по которым строятся условия запроса (в данном случае recipient_id и status) запрос на таблице с миллионами сообщений отработает за доли секунды! Цитата:
p.s. извините, что влез в тему... Похоже, что вопрос уже решён. |
||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вконтакте Личные сообщения | KWN, lnc | Работа с сетью в Delphi | 8 | 28.07.2014 20:17 |
как работают and or при пирсваивании?? | maloun | Общие вопросы Delphi | 9 | 08.02.2011 16:58 |
Как работают программы обходящие NAT? | Pedro | Свободное общение | 4 | 20.01.2010 17:20 |
Как отвечать на личные сообщения на форуме? | Парсифаль | О форуме и сайтах клуба | 2 | 03.05.2009 23:58 |
Можно ли защитить алгоритмы программы как "личные права" ... | Flex | Свободное общение | 3 | 28.09.2008 15:26 |