分层注释检索

时间:2011-10-23 08:14:43

标签: php mysql sql

我需要帮助检索层次结构注释。我很难找到这样的事情。我可以检索一个级别的评论

-Main Comment
--Reply1
--Reply2
--Reply3

不会检索Reply1,Reply2等下的回复。数据库中的实际回复如下所示:

-Main Comment
--Reply1
---ReplyA
----ReplyA1
---ReplyB
----ReplyB1
--Reply2
---ReplyA
--Reply3

如您所见,主评论可以有多个回复,而回复也可以有降序回复,列表也会继续。

我需要建立一个类似于vbulletin论坛评论系统的评论系统。我认为vbulletin使用分层评论系统。

随意提供支持资源。

2 个答案:

答案 0 :(得分:0)

您需要使用递归来迭代这种分层数据。 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 . '-');
 }

}

我没有测试,但你应该明白这一点。

答案 1 :(得分:0)

enter image description here

enter image description here

如果将表格划分为类似的内容,则会有所帮助。 这里的关键是为每个注释存储祖先和后代,无论它出现在层次结构中的哪个位置。 (不只是直接的父母)。

(请注意,下面的评论4和5实际上是回复评论3。)