按顺序从数据库中读取消息

时间:2013-03-31 18:30:59

标签: mysql

我目前正在构建一个会话式邮件系统,需要协助处理从数据库中读取的邮件的顺序。

数据库中消息表的数据库结构如下:

messageid |内容| message_from | message_to |查看|删除| sent_date

我希望按照发送的顺序阅读邮件,但如果没有回复就发送多条邮件,请不要重复用户名。

因此,如果有3个message_from到同一个message_to,它们将被显示,然后在此之后会有任何响应。但正如我所说的,如果有来自同一个人的3条消息没有回复,我会先显示用户名,然后再显示内容。

我有以下查询,用于提取发送给用户的邮件。

SELECT f.username, t.username, m.content, m.sent_date FROM message m 
INNER JOIN user f ON f.userid = m.message_from
INNER JOIN user t ON t.userid = m.message_to
WHERE f.username = :username

我尽力解释我需要什么,不知道我有多清楚!

感谢。

1 个答案:

答案 0 :(得分:1)

我决定在显示逻辑中显示用户名,而不是数据库逻辑。 (即在你的HTML生成脚本中)

要确保结果的顺序正确,请在SQL语句末尾使用ORDER BY m.sent_date ASC

相关问题