[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: И снова личные сообщения
Dazze
Доброго времени суток.
Пытаюсь написать систему личных сообщений, разбитых по диалогам.
В чем суть - пользователь А посылает сообщение пользователю B, в личных кабинетах у пользователей A и B появляется название этого диалога (внутри которых находятся сообщения). Пользователь может удалить как сообщение из диалога, так и весь диалог, причем если пользователь A удалит у себя сообщение или весь диалог ,то они останутся у пользователя B.
Значит вот в чем возникла сложность. Создал 3 таблицы, юзеры , диалоги и сообщения.
Таблица диалог содержит в себе поля (номер диалога, получатель, отправитель, название диалога, кол-во сообщений) и таблица с сообщениями (номер диалога, сообщение, дата, тип (входящее исходящее), статус (прочитано или нет))

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

TranceIT
Цитата (Dazze @ 22.03.2013 - 13:19)
Додумался только как то дублировать диалоги для отправителя и получателя.

Дублирование не лучший выход.
Я бы сделал флаг который принимает значения (1, 2, 3).
1 - показывать только отправителю
2 - показывать только получателю
3 - показывать обоим.

_____________
Безвозмездно помогаю только тем, кто сам пытается что-то сделать.

Остальным за WMR
Даже если там 10 строк кода!
Даже если мне это ничего не стоит!
Даже если вы нуб!

user posted image
Arh
Достаточно 2 таблицы, пользователи и сообщения
Пользователи понятно.

В таблице с сообщениями есть:
id сообщения
value
from - от кого
to - кому
допустим from_del - удалено у отправителя (0/1)
to_del - удалено у получателя (0/1)
time - когда отправлено
read - когда прочитано, если дата стоит то прочитано

А диалог это всего лишь переписка с каким то пользователем то есть "показать сообщения которые ты отправлял пользователю или он тебе"

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Guest
Цитата (Arh @ 22.03.2013 - 16:10)
Достаточно 2 таблицы, пользователи и сообщения
Пользователи понятно.


Я думал над таким вариантом, сложность в запросах - нужно выводить кол - во сообщении в диалоге, есть ли новые сообщения в диалоге + диалоги должны сортироваться по дате. То есть не совсем понял как сделать в плане запросов , доставать всех пользователей с которым велся диалог, сортировать их считать кол - во сообщений ?

Цитата (TranceIT @ 22.03.2013 - 16:05)
Дублирование не лучший выход.
Я бы сделал флаг который принимает значения (1, 2, 3).
1 - показывать только отправителю
2 - показывать только получателю
3 - показывать обоим.


Попробую пока что такой вариант

В любом случае спасибо за советы обоим smile.gif

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.