2016-02-22 2 views
-3

Я создаю систему сообщений Pesonal с помощью codeigniter и MYSQL. Структура таблиц My Messages выглядит следующим образом.Персональная система обмена сообщениями PHP MYSQL

  1. ID
  2. from_user
  3. to_user
  4. сообщение
  5. sentTime

На индексной странице, я хотел бы показать список всех пользователей, с которыми я беседовал. Этот список содержит список пользователей;

  1. с которыми я беседовал,
  2. Пользователи, приславших мне сообщение, но я не ответившие
  3. пользователей, которых я послал сообщение, но они не ответили.

Учитывая все перечисленные выше опции, как получить список пользователей, которые общались со мной, используя таблицу сообщений.

+1

У вас уже есть какой-то код? –

+0

извините, рамон. Я только начинаю с этой функциональности. Но спасибо за комментарий. –

+0

Но теперь вы получите запросы sql в ответах ниже. Вы знаете, как использовать их и отправлять выходные данные? –

ответ

1

Вы используете case для получения других пользователей. Тогда вам, вероятно, понадобится distinct, чтобы у вас не было дубликатов.

select distinct (case when from_user = $me then to_user else from_user end) as other_user 
from MyMessages ; 
0

Поскольку я не могу комментировать, ответ от Гордона Линофф является правильным, но он отсутствует, где положение, так чтобы быть более точным код должен выглядеть следующим образом:

select distinct(case when from_sender =$me then to_user else from_sender end) as user from message where from_sender=$me or to_user=$me;

Смежные вопросы