我目前有两个查询,一个用于选择 friend ,第二个用于为收件人和发件人选择消息,但是因为它们总共是三个查询,所以不允许我通过 message.date/time 来订购它们。 对于收件人的消息,我需要一个单独的标签左对齐,发件人的消息右对齐。
这是我的疑问:
查询中的 User.ID 为 75 是登录用户,我将其替换为
".$_SESSION["user"]["id"]."
SELECT IF(friends.sender = 75, friends.recipient, friends.sender) AS user_id
FROM friends
WHERE friends.sender = 75
OR friends.recipient = 75
发件人消息
SELECT message, sender, recipient FROM message WHERE recipient = ".$_SESSION["user"]["id"]." AND sender = $FriendName->id ORDER BY message.date DESC, message.time DESC
收件人消息
SELECT message, sender, recipient FROM message WHERE sender = ".$_SESSION["user"]["id"]." AND recipient = $FriendName->id ORDER BY message.date DESC, message.time DESC
最佳答案
类似这样的事情。
$userid = $_SESSION["user"]["id"];
$sql = "SELECT message, sender, recipient FROM message
WHERE (recipient = $userid AND sender = $FriendName->id)
OR (sender = $userid AND recipient = $FriendName->id)
ORDER BY message.date DESC, message.time DESC
我不明白为什么你需要第一个查询。当您迭代结果时,您可以检查发送者和接收者来找出答案。并在此基础上将容器 div 的类设置为 msg_left
或 msg_right
。
在你的 css 中定义这些来完成你想要的格式。
关于php - 需要有关连接三个查询以进行订购的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29822017/