tp5 评论 (无限极分类)

1.first 文章发布 一对一 一问一答
列如 :朋友圈QQ空间等

a:此文章真有意思
b回复a:我感觉也挺有意思
c:文章感觉没啥意思

mysql 建表
只需要建一个评论表足以 评论表 comment
id textid userid user_id content create_time
id 文章标题 评论者id 目标用户id 评论内容 评论时间

只需要根据时间 倒序查询 显示即可
2.second 树桩评论(无限极分类)
列如:CSDN 的评论与回复

a:此文章真有意思
  b回复a:真的假的
    a:回复b:当然是真的
  c回复a:你这个是假的把,我反正不信

mysql 建表

需要建两张表 评论表 comment 回复表 reply

comment 表
id userid content textid create_time
id 评论者id 评论内容 文章id 评论时间

relply 表
id userid user_id content commentid replyid create_time
ID 评论者id 回复目标id 回复内容 评论id 回复id 回复时间
replyid 为0 时,则为回复评论表,不为零是则为回复 其他人 回复;

代码

public function dg($comments, $reply = 0)
    {
        $data = [];
        foreach ($comments as $key => &$value) {
            if ($value['replyid'] == $reply) {
                $value['reply'] = $this->dg($comments,$value['id']);
                $data[] = $value;
            }
        }
        return $data;
    }

调用:$this->dg( $comments);

返回实例

array(2) {
  [0] => array(8) {
    ["id"] => int(6)
    ["comment_id"] => int(1)
    ["replyid"] => int(0)
    ["content"] => string(21) "这个文章很好呀"
    ["userid"] => int(2)
    ["user_id"] => int(0)
    ["create_time"] => string(19) "2020-06-17 15:24:11"
    ["reply"] => array(1) {
      [0] => array(8) {
        ["id"] => int(8)
        ["comment_id"] => int(1)
        ["replyid"] => int(6)
        ["content"] => string(42) "我怕感觉也还行吧,挺有意思的"
        ["userid"] => int(4)
        ["user_id"] => int(2)
        ["create_time"] => string(19) "2020-06-18 15:25:58"
        ["reply"] => array(2) {
          [0] => array(8) {
            ["id"] => int(9)
            ["comment_id"] => int(1)
            ["replyid"] => int(8)
            ["content"] => string(18) "我感觉太差了"
            ["userid"] => int(5)
            ["user_id"] => int(4)
            ["create_time"] => string(19) "2020-06-18 15:27:52"
            ["reply"] => array(0) {
            }
          }
          [1] => array(8) {
            ["id"] => int(10)
            ["comment_id"] => int(1)
            ["replyid"] => int(8)
            ["content"] => string(21) "我感觉也不太行"
            ["userid"] => int(2)
            ["user_id"] => int(5)
            ["create_time"] => string(19) "2020-06-17 21:12:10"
            ["reply"] => array(0) {
            }
          }
        }
      }
    }
  }
  [1] => array(8) {
    ["id"] => int(7)
    ["comment_id"] => int(1)
    ["replyid"] => int(0)
    ["content"] => string(24) "这个文章真有意思"
    ["userid"] => int(3)
    ["user_id"] => int(0)
    ["create_time"] => string(19) "2020-06-17 15:24:59"
    ["reply"] => array(0) {
    }
  }
}

OK。。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值