【发布时间】:2016-07-22 15:19:32
【问题描述】:
您好,我正在尝试在 PHP 中创建直接消息收件箱。我尝试进行查询,以获取登录用户与登录用户已发送消息或已向登录用户发送消息的每个人之间的最新消息。类似于 Insatagram 和 twitter 如何在其收件箱中显示登录用户与发送消息或发送消息的人之间的所有对话列表。
到目前为止,当我只想要登录用户和任何其他用户之间的最新消息时,我的查询显示了登录用户和与之进行过对话的人之间的所有对话。我希望我已经解释得足够好。
我现在的查询语句是:
SELECT *
FROM dm
WHERE(receiver="user") or (sender="user")
ORDER BY senttime DESC;
我的直接消息表如下所示:
CREATE TABLE IF NOT EXISTS dm (
id INT(11) NOT NULL AUTO_INCREMENT,
receiver VARCHAR(100) NOT NULL,
sender VARCHAR(100) NOT NULL,
senttime DATETIME NOT NULL,
message TEXT NOT NULL,
PRIMARY KEY (id)
)
例如:
id receiver sender senttime message
1 Jack Will 2016-07-20 20:59:27 Hi
2 Jack Bob 2016-07-21 20:59:27 What's up
3 Bob Jack 2016-07-22 20:59:27 Hanging out what about
如果 Jack 是查询中的用户,则应返回以下内容
id receiver sender senttime message
3 Bob Jack 2016-07-22 20:59:27 Hanging out what about you?
1 Jack Will 2016-07-20 20:59:27 Hi
【问题讨论】: