我试着保持这个简单和重点。基本上我有一个新闻提要和一个评论部分。评论部分有两个层次:响应然后回复答复。对于给定的新闻帖子,基本上结构如此:
-> comment
---> reply
---> reply
每条评论都可以有多个回复。显然,执行此操作的错误方法是对每个注释执行SQL查询以检查回复并将其列出。 编辑评论只有1层回复,即回复无法回复。 - 谢谢JohnP
我对此类查询的疑问:
我应该在单独的表中保留注释和回复并使用JOIN,还是可以将回复和注释保留在同一个表中并使用限定符来分隔类型?
我应该尝试使用查询对它们进行排序,还是将所有数据拉入数组并进行排序和排序。那样显示?
我的表目前如下:
ID (unique, auto increment)
NEWS_ID (ties the comment to a particular news post)
REPLY_ID (ties the comment to a parent comment if it is a reply to another comment)
USER_ID
BODY
PUBLISHED_DATE
我们将非常感谢那些比我更聪明的人的建议!我还处于完全理解JOINS和其他更高级别的mysql查询结构的最初阶段。 (IE:我吮吸mysql,但我正在学习:)。
答案 0 :(得分:0)
既然你说答复是一层深的..
我会发表评论1表,并有一个comment_id
字段来表示所有权,并有一个news_id
字段来添加与新闻项的关系。这样,您只需查询与news_id
匹配的所有评论,并按comment_id
对其进行排序。然后一点点PHP数组魔术将为您提供一个排序的评论/回复列表。
所以看看你当前的表,你就是正确的道路。