|
|
|
Персональные сообщения
|
|||
|---|---|---|---|
|
#18+
Приветствую. Помогите, пожалуйста, со структурой таблиц для обмена персональными сообщениями на сайте. Требования такие: пользователь может написать сообщение другим пользователям (одному или нескольким). При написании нового сообщения начинается новый диалог. При ответе на какое-либо сообщение - диалог продолжается. У любого пользователя может быть сколько угодно диалогов с другими пользователями. У каждого сообщения есть флажки, просмотренно оно, непросмотренно или удалено. Вывод сообщений хочется такой: на странице списка личных сообщений, пользователь видит список диалогов. каждый элемент этого списка содержит последнее (по дате) сообщение этого диалога, а так же флажек, есть ли в этом диалоге непрочитанные пользователем сообщения. Я пока дошел до 2х таблиц. Первая - messages MID (ID-сообщения), тему, текс сообщение, ID-юзера, и дату Таблица получателей receivers MID, ToUID, ReceiverStatus - (ToUID - кому было отправлено, ReceiverStatus - прочитанное, непрочитанное, удаленное) А вот как вывести список диалогов с последним сообщением и флагом, содержит ли каждый диалог непрочитанные сообщения, я все никак докумекать не могу. Прошу помощи. :) Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2011, 20:46 |
|
||
|
Персональные сообщения
|
|||
|---|---|---|---|
|
#18+
ViktorSemenov, добавить в сообщения дату прочтения получателем и ид предыдущего сообщения (иначе как вы будете цепочки строить?) И вообще сделать не получателей, а юзеров, а в сообщении будет 2 поля - от кого и кому. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2011, 21:06 |
|
||
|
Персональные сообщения
|
|||
|---|---|---|---|
|
#18+
поправка - не заметил, что можно сразу нескольким. второе замечание отменяется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2011, 21:07 |
|
||
|
Персональные сообщения
|
|||
|---|---|---|---|
|
#18+
Допустим, я добавлю с таблицу сообщений еще поле DialogID. При новом сообщении оно будет равно ID этого сообщения, При ответах, DialogID будет равен DialogID предыдущего сообщения (что в принципе означает, что у всех сообщений одного диалога, будет один и тот же DialogID равный ID-самого первого сообщения). Но чем это мне поможет? Трудность у меня в выводе списка этого диалога в виде, как написано в 1 посте этой темы. (Самое последнее сообщение каждого диалога и флажек, были ли прочитаны сообщения в этом диалоге или нет) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2011, 21:19 |
|
||
|
Персональные сообщения
|
|||
|---|---|---|---|
|
#18+
ViktorSemenov, если вы его добавите в таблицу сообщений. отправите сообщение 2м людям. оба ответят. это же будут уже 2 разных диалога, не так ли? надо диалогид отмечать в ресиверсах, а лучше отмечать там ид предыдущего сообщения - правда, тогда субд должна уметь рекурсивные запросы. А вообще, посмотрите, как это в том же пхпББ делается, там вроде то, что вам надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2011, 21:36 |
|
||
|
Персональные сообщения
|
|||
|---|---|---|---|
|
#18+
Ответы могут быть только одному человеку, так что с этим проблем не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2011, 21:46 |
|
||
|
Персональные сообщения
|
|||
|---|---|---|---|
|
#18+
ViktorSemenovОтветы могут быть только одному человеку , так что с этим проблем не будет.Не стоит на это закладываться. Проверено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2011, 10:57 |
|
||
|
Персональные сообщения
|
|||
|---|---|---|---|
|
#18+
если еще актуально. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Работает нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2011, 12:31 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=37124264&tid=1542310]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
329ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 241ms |
| total: | 665ms |

| 0 / 0 |
