|
Посоветуйте структуру и реализацию
|
|||
---|---|---|---|
#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: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 141ms |
0 / 0 |