powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Посоветуйте структуру и реализацию
2 сообщений из 2, страница 1 из 1
Посоветуйте структуру и реализацию
    #39472136
faustgreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу сделать систему коммуникации с пользователями с интерфейсом, который будет отображать хронологию разговора. Т.е. Структура примерно такая:

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 и т.д. Таким образом раскручиваем весь диалог.

Вопрос: можно ли при такой структуре таблицы одним запросом получить определенный диалог (Все записи общения двух пользователей)? Или может подскажите лучшее решение.
...
Рейтинг: 0 / 0
Посоветуйте структуру и реализацию
    #39472235
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем вообще нужны диалоги? Показывай N последних сообщений
Код: sql
1.
select top 10 * from ... where (От кого = idUser_1 or От кого = idUser_2) and (Кому = idUser_1 or Кому = idUser_2)  order by ID desc



Если нужны, то добавь поле ДиалогID.
ID ДиалогID Ответ От кого Кому Дата1 1 "Привет! как дела?" idUser_1 idUser_2 date12 1 "Привет! все отлично!" idUser_2 idUser_1 date23 1 "Круто!" idUser_1 idUser_2 date2
затем выборка диалога
Код: sql
1.
select * from ... where ДиалогID = 1 order by ID
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Посоветуйте структуру и реализацию
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]