您的位置:威尼斯官方网站 > 威尼斯正规官网 > 她俩的完结原理都以相像的

她俩的完结原理都以相像的

发布时间:2020-01-03 19:06编辑:威尼斯正规官网浏览(177)

    本人要落到实处的正是下图的这种体制,可参谋下边这五个网址的留言板,他们的兑现原理都以如出生龙活虎辙的

    畅言留言板样式:

    图片 1

    新浪跟帖样式:

    图片 2

    原理
    内需在评价表加多五个根本字段 id 和 pid  ,其余字段随意增添,比如小说id、回复时间、回复内容、回复人什么的。
    其间pid正是日前已经还原过的评头品足的id。
    从上海教室能够看来,里面每后生可畏层的pid正是正是他上大器晚成层商酌的id。细心观望下方面包车型地铁构造。是还是不是很像PHP中的多维数组?要是您能想到,那么就归纳了。
    兑现方式
    **
    1.前台:那么些比较轻巧正是div嵌div。然后设置div的border和margin  padding就能够了
    **

    <div class="comment"> 
     <div class="comment"> 
      <div class="comment"> 
     
      </div> 
     </div> 
    </div> 
     
    <div class="comment"> 
     
    </div>
    

    2、后台 :用到了三回递归,首先用递归把数据库中的结果重新整合下,重新整合之后,然后用递归输出下面的这种前台代码就能够 comment表结构和剧情如下

    图片 3

    接下来径直读出那么些表中的有着评价。能够获取如下数组

    Array 
    ( 
     [0] => Array 
      ( 
       [id] => 1 
       [pid] => 
       [content] => 评论1 
      ) 
     
     [1] => Array 
      ( 
       [id] => 2 
       [pid] => 
       [content] => 评论2 
      ) 
     
     [2] => Array 
      ( 
       [id] => 3 
       [pid] => 
       [content] => 评论3 
      ) 
     
     [3] => Array 
      ( 
       [id] => 4 
       [pid] => 1 
       [content] => 评论4回复评论1 
      ) 
     
     [4] => Array 
      ( 
       [id] => 5 
       [pid] => 1 
       [content] => 评论5回复评论1 
      ) 
     
     [5] => Array 
      ( 
       [id] => 6 
       [pid] => 2 
       [content] => 评论6回复评论2 
      ) 
     
     [6] => Array 
      ( 
       [id] => 7 
       [pid] => 4 
       [content] => 评论7回复评论4 
      ) 
     
     [7] => Array 
      ( 
       [id] => 8 
       [pid] => 7 
       [content] => 评论8回复评论7 
      ) 
     
     [8] => Array 
      ( 
       [id] => 9 
       [pid] => 8 
       [content] => 评论9回复评论8 
      ) 
     
     [9] => Array 
      ( 
       [id] => 10 
       [pid] => 8 
       [content] => 评论10回复评论8 
      ) 
     
    )
    

    然后大家就要求把这一个数组重新组合成下面的这种留言板形式的
    中间$array正是地方读抽出来的数组,首先收取pid默感到空的,然后递归,在收取pid为当前研讨id的数组

    public static function tree($array,$child="child", $pid = null) 
    { 
     $temp = []; 
     foreach ($array as $v) { 
      if ($v['pid'] == $pid) { 
       $v[$child] = self::tree($array,$child,$v['id']); 
       $temp[] = $v; 
      } 
     } 
     return $temp; 
    }
    

    结缘后,可以赢得上边包车型大巴这么些数组,能够见见,这些数组的体制已经和前台商议样式很像了

    Array 
    ( 
     [0] => Array 
      ( 
       [id] => 1 
       [pid] => 
       [content] => 评论1 
       [child] => Array 
        ( 
         [0] => Array 
          ( 
           [id] => 4 
           [pid] => 1 
           [content] => 评论4回复评论1 
           [child] => Array 
            ( 
             [0] => Array 
              ( 
               [id] => 7 
               [pid] => 4 
               [content] => 评论7回复评论4 
               [child] => Array 
                ( 
                 [0] => Array 
                  ( 
                   [id] => 8 
                   [pid] => 7 
                   [content] => 评论8回复评论7 
                   [child] => Array 
                    ( 
                     [0] => Array 
                      ( 
                       [id] => 9 
                       [pid] => 8 
                       [content] => 评论9回复评论8 
                       [child] => Array 
                        ( 
                        ) 
     
                      ) 
     
                     [1] => Array 
                      ( 
                       [id] => 10 
                       [pid] => 8 
                       [content] => 评论10回复评论8 
                       [child] => Array 
                        ( 
                        ) 
     
                      ) 
     
                    ) 
     
                  ) 
     
                ) 
     
              ) 
     
            ) 
     
          ) 
     
         [1] => Array 
          ( 
           [id] => 5 
           [pid] => 1 
           [content] => 评论5回复评论1 
           [child] => Array 
            ( 
            ) 
     
          ) 
     
        ) 
     
      ) 
     
     [1] => Array 
      ( 
       [id] => 2 
       [pid] => 
       [content] => 评论2 
       [child] => Array 
        ( 
         [0] => Array 
          ( 
           [id] => 6 
           [pid] => 2 
           [content] => 评论6回复评论2 
           [child] => Array 
            ( 
            ) 
     
          ) 
     
        ) 
     
      ) 
     
     [2] => Array 
      ( 
       [id] => 3 
       [pid] => 
       [content] => 评论3 
       [child] => Array 
        ( 
        ) 
     
      ) 
     
    )
    

    获取地点的数组后 ,再用递归输出就能够

    public static function traverseArray($array) 
    { 
     foreach ($array as $v) { 
      echo "<div class='comment' style='width: 100%;margin: 10px;background: #EDEFF0;padding: 20px 10px;border: 1px solid #777;'>"; 
      echo $v['content']; 
      if ($v['child']) { 
       self::traverseArray($v['child']); 
      } 
      echo "</div>"; 
     
     } 
     
    }
    

    下一场就能够看出

    图片 4

    原理就是如此,正是重新整合下数组,然后遍历输出就能够了。

    以上就是php完成畅言留言板和乐乎跟帖样式的全体历程,大家也能够品尝进行翻新,希望那篇小说对我们的上学抱有利于。

    本文由威尼斯官方网站发布于威尼斯正规官网,转载请注明出处:她俩的完结原理都以相像的

    关键词: