|
|
|
Посоветуйте структуру и реализацию
|
|||
|---|---|---|---|
|
#18+
Хочу сделать систему коммуникации с пользователями с интерфейсом, который будет отображать хронологию разговора. Т.е. Структура примерно такая: ID Сообщение(ID из этой же таблицы) Ответ От кого Кому Дата1 0 "Привет! как дела?" idUser_1 idUser_2 date12 1 "Привет! все отлично!" idUser_2 idUser_1 date23 2 "Круто!" idUser_1 idUser_2 date2 чтобы в дальнейшем можно было отобразить переписку двух пользователей. Все новые диалоги будут начинаться с ID=0 (Написать сообщение), а продолжение это ответ на предыдущее сообщение. Чтобы получить переписку - берем какое нибудь сообщение, где значение поля "Сообщение" = 0, получаем ID это записи, ищем запись, значение поля "Сообщение" которой равно найденному ID и т.д. Таким образом раскручиваем весь диалог. Вопрос: можно ли при такой структуре таблицы одним запросом получить определенный диалог (Все записи общения двух пользователей)? Или может подскажите лучшее решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2017, 12:16 |
|
||
|
Посоветуйте структуру и реализацию
|
|||
|---|---|---|---|
|
#18+
Зачем вообще нужны диалоги? Показывай N последних сообщений Код: sql 1. Если нужны, то добавь поле ДиалогID. ID ДиалогID Ответ От кого Кому Дата1 1 "Привет! как дела?" idUser_1 idUser_2 date12 1 "Привет! все отлично!" idUser_2 idUser_1 date23 1 "Круто!" idUser_1 idUser_2 date2 затем выборка диалога Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2017, 13:27 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=14&tid=1581933]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
61ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
| others: | 261ms |
| total: | 414ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...