设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 手机 公司 数据
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php实现无限级评论功能

发布时间:2022-06-24 13:54 所属栏目:121 来源:互联网
导读:php实现评论无限级方法 1、首先在评论表中加入一个存放父级评论ID的字段,其默认值为0,当父级ID为0是就顶级分类。 SQL: CREATE TABLE comment ( comm_id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, user_id INT UNSIGNED NOT NULL DEFAULT 0 , parent_id I
  php实现评论无限级方法
 
  1、首先在评论表中加入一个存放父级评论ID的字段,其默认值为0,当父级ID为0是就顶级分类。
 
  SQL:
 
  CREATE TABLE comment (
  
      comm_id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
  
      user_id INT UNSIGNED NOT NULL DEFAULT 0 ,
  
      parent_id INT UNSIGNED NOT NULL DEFAULT 0 ,
  
      article_id INT UNSIGNED NOT NULL DEFAULT 0 ,
  
      comm_cont TEXT,
  
      comm_time INT UNSIGNED NOT NULL DEFAULT 0  
  
  ) ENGINE=MYISAM CHARSET=UTF8 ;
  2、再创建一个递归函数,将评论数据转换成树形结构;
 
  PHP:
 
  function get_childs_comment($comments, $parent_id = 0, $level = 0)
  
  {
  
      $new_comments = [];

      foreach ($comments as $key => $val) {
  
          if ($val['pid'] == $parent_id) {
  
              $val['level'] = $level;
  
              $val['childs'] = get_childs_comment($comments, $val['id'], $level + 1);
  
              $new_comments[] = $val;
  
          }
  
      }

      return $new_comments;
  
  }
  返回出来的数据结构如下:
 
  [
  
      '一级评论',
  
      'childs' => [
  
          '二级评论'
  
          'childs' => [
  
              '....'
  
          ]
  
      ]
  
  ]
  3、最后将转换后的评论数据,循环展示出来即可。
 
 

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读