Вывести логины тех, с кем общался в чате

224
25 июля 2017, 19:45

Есть таблица msgs

id from_id to_id msg
1  5       6     msg1
2  6       5     msg2
3  7       5     msg3
4  5       6     msg4

и users

id login
5  user5
6  user6
7  user7

Пользователь №5 отправил смску пользователю №6, а потом №6 отправил смску №5, если я сижу из под юзера №5, как мне вывести список тех, с кем общался, без повторений?

То есть я (юзер5) общался с:

юзер6

юзер7

Пробую так:

SELECT msg.id FROM msgs msg WHERE msg.from_id = 5 OR msg.to_id = 5;

Но выводит все полностью записи, 4шт.

А если группировать их по from_id или to_id - то получится так, что с другими юзерами не покажет...

Answer 1

А почему Вы указываете msg.id, если Вам нужен список пользователей, а не сообщений?

Правильный запрос выглядит так:

SELECT from_id FROM msgs WHERE to_id = 5
UNION
SELECT to_id FROM msgs WHERE from_id = 5;
READ ALSO
Как в easyii подключить News?

Как в easyii подключить News?

Всем хайКак в easyii подключить модуль News именно в адмике, чтобы можно было добавлять новости? Он там уже есть с коробки, но я не знаю как его подключить...

230
JSON многомерный массив экранизация цикла

JSON многомерный массив экранизация цикла

Как вывести в цикле содержимое такого вида?

281
Имитация действий пользователя

Имитация действий пользователя

Всем приветМожно ли через php взаимодействовать с DOM сайта? Т

313