需要分页获取评论.例如每页20个.
但是我的评论是可以再进行评论的.再评论的评论可以再再被评论.....就是可盖楼.
就是说一个评论A可以有子评论,子评论可以再有子评论.即A的孙评论. 孙评论还可以有评论, A的重孙评论......无限分层.评论字段有: id , 和 parent_id  如果是原始评论那么 parent_id 为0 .如果是子孙评论 那么parent_Id 就是其父亲的id.想用一条 语句 limit 20条原始评论 以及 这20条的子子孙孙评论.
请教大家哦.

解决方案 »

  1.   

    要实现你的要求,就不是只用 id 和 parent_id (邻接列表算法)能解决的了
    你需要将数据组织方式转换成前序遍历算法(也称左右值算法、预排序算法)具体实现你可以搜索一下 
      

  2.   

    恩这个问题我遇到过,到网上没搜索到合适的,
    首先你找出所有的子孙评论,然后在limit,
    哈哈,问题就出现了,找出所有子孙评论的sql不好写~~
    这个就要考虑算法了,等会sql给你贴出来~~
      

  3.   

    这是《PHP和MYSQL WEB开发》上的原文。原理就是所有评论是平等的,都在一张表里,不过每个评论有父评论ID和所属的文章ID。打印一个文章ID的所有评论,那么就是先得到所有该文章ID且父亲为-1的所有评论ID(也就是根评论),然后递归的对每个评论ID1,得到父亲ID是ID1的所有评论ID2。构造页面是一个深度优先递归的,层次深入与回溯伴随着评论的层次。