我需要帮助检索分层注释。我发现很难做到这一点。我可以检索一个级别的注释,即
-Main Comment
--Reply1
--Reply2
--Reply3不检索Reply1、Reply2等下的回复。数据库中的实际回复如下:
-Main Comment
--Reply1
---ReplyA
----ReplyA1
---ReplyB
----ReplyB1
--Reply2
---ReplyA
--Reply3正如你所看到的,main comment可以有多个回复,一个回复也可以有降序回复,列表还在继续。
我需要建立一个评论系统,类似于电子公告论坛评论系统。我认为vbulletin使用了层次化的评论系统。
请随时提供支持资源。
发布于 2011-10-23 16:18:24
你需要使用递归来迭代这种层次化的数据。http://www.codewalkers.com/c/a/Miscellaneous/Recursion-in-PHP/
http://devzone.zend.com/article/1235
遍历树,并在每个节点上调用子节点
function rIterate($data, $sep = '-') {
foreach($data as $key => $replyChild) {
echo $sep . $replyChild['item'];
rItearate($replyChild, $sep . '-');
}}
我还没有测试过,但你应该明白我的想法。
发布于 2011-10-23 22:51:42


如果您将表划分为如下所示,这将很有帮助。这里的关键是存储每个评论的祖先和后代,无论它出现在层次结构中的什么位置。(不仅仅是直接的父级)。
(请注意,下面的注释4和5实际上是对注释3的回复。)
https://stackoverflow.com/questions/7865096
复制相似问题