如何仅显示之前与 [PHP] 聊天过的用户
how to show only users who have previously chat with [PHP]
我有table个用户
**| 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";
我用(用户名)登录,如果有(用户名1)的回复,它将显示
username 1
username 1
username 2
我需要展示一下
username 1
username 2
能不能请教一下,谢谢大家
使用:
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']
我有table个用户
**| 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";
我用(用户名)登录,如果有(用户名1)的回复,它将显示
username 1
username 1
username 2
我需要展示一下
username 1
username 2
能不能请教一下,谢谢大家
使用:
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']