как показать только пользователей, которые ранее общались с [PHP] - PullRequest
1 голос
/ 19 июня 2020

У меня есть пользователь таблицы

**| username | password |**
     username    1234
     username1   1234
     username2   1234

и сообщение

**| from_user_name | to_user_name | message |**
     username        username1      Hi      
     username        username2      Hi
     username1       username      reply

это мой SQL код

$query = "SELECT * FROM " .table_name. " WHERE to_user_name = '".$_SESSION['username']."' OR from_user_name = '".$_SESSION['username']."' GROUP BY from_user_name,to_user_name";

Я вхожу в систему с (имя пользователя), если есть ответ от (username1), он покажет

username 1
username 1
username 2

Мне нужно показать как

username 1
username 2

Не могли бы вы посоветовать мне, спасибо вам всем

1 Ответ

1 голос
/ 19 июня 2020

Используйте:

SELECT DISTINCT CASE WHEN to_user_name = $_SESSION['username']
                     THEN from_user_name
                     ELSE to_user_name
                     END AS responder
FROM message
WHERE $_SESSION['username'] IN (from_user_name, to_user_name);

или

SELECT to_user_name AS responder
FROM message
WHERE from_user_name = $_SESSION['username']
UNION 
SELECT from_user_name 
FROM message
WHERE to_user_name = $_SESSION['username']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...