PHP聊天系统(按日期显示所有消息顺序)

PHP聊天系统(按日期显示所有消息顺序),php,Php,我有一个问题,但他没有在日期之后对所有邮件进行排序。当然,最新的消息应该总是在最上面 在我的页面上观看一个示例: 您能试着像下面这样更改您的查询吗 ON (msg.user_id = user.id || msg.sender_id = user.id) WHERE (msg.user_id = :user_id AND sender_id = :sender_id) OR (msg.user_id = :sender_id AND msg.sender_id = :user_id)

我有一个问题,但他没有在日期之后对所有邮件进行排序。当然,最新的消息应该总是在最上面

在我的页面上观看一个示例:



您能试着像下面这样更改您的查询吗

ON (msg.user_id = user.id || msg.sender_id = user.id)
    WHERE (msg.user_id = :user_id AND sender_id = :sender_id) OR (msg.user_id = :sender_id AND msg.sender_id = :user_id) ORDER BY `msg.date` DESC LIMIT 1
让我知道它是否有效

谢谢,
Smit Raval

可以共享表结构吗?查询中有一个
限制1
,用于获取消息,因此每个用户只能获取一条最新消息。这是有意的吗?您是否在这里询问如何按日期而不是按用户对每个用户一条消息的列表进行排序?然后,您将需要一个带有联接或子查询的查询,而不是两个查询。顺便说一句:内部查询中与
user
的连接看起来可疑;你为什么需要加入?是的,我编辑我的主题。你看那儿有一张桌子。我想在顶部列出所有新邮件。您遇到了什么错误?或者打印代码的输出。我没有收到任何错误,但它不会按日期对新注释进行排序。他只按日期对邮件进行排序。您在问题中要求按日期对邮件进行排序。你没有提到任何评论!!我在你的代码中甚至看不到一个获取评论的查询@对不起,我是说留言。他给我看了所有的新邮件,但没有按日期排序。这意味着如果我有一条消息是在晚上8点发送的,一条是在10分钟前发送的,它将在晚上8点首先显示
ON (msg.user_id = user.id || msg.sender_id = user.id)
    WHERE (msg.user_id = :user_id AND sender_id = :sender_id) OR (msg.user_id = :sender_id AND msg.sender_id = :user_id) ORDER BY `msg.date` DESC LIMIT 1