我正在构建一个消息/回复应用程序。这个想法是显示一条消息,并且任何回复都直接显示在它下方的隐藏 div 中,并带有文本“显示来自...的消息”。
我对布局本身没有任何问题并且可以正常工作,但我不确定的是如何返回一条带有多个回复的消息。下面的 SQL 查询是我迄今为止的查询,但这将返回所有回复,但也会重复每个回复的主要消息。
我的问题是,我怎样才能一次返回主要消息,以及所有相关的回复?
SELECT u.userid, u.first, u.last, c.title, c.body, c.messid,
c.adddate, ru.first, ru.last, cr.body, cr.messreplyid
FROM chat c INNER JOIN users u on u.userid = c.userid
LEFT JOIN chat_reply cr on cr.messid = c.messid
LEFT JOIN users ru on ru.userid = cr.userid
WHERE c.messid =".$_GET['messid']."
GROUP BY cr.messreplyid"
u.userid = the original posters primary key
u.first + u.last = the original posters name
c.title = the title of the post
c.body = the message body
c.messid = the message primary key
c.adddate = message timestamp
ru.first + ru.last = the name of the person who replied
cr.body = the the reply message body
cr.messreplyid = the reply primary key
正如我所说,我似乎得到了两个结果,一个将显示一条消息和一个回复(如果我不使用 group by)或所有回复但重复该消息。我确信这可以通过复杂的查询来完成,例如选择中的选择,但如果有任何帮助,我将不胜感激。