189 8069 5689

使用TP5.0框架怎么实现一个无限极回复功能-创新互联

使用TP5.0框架怎么实现一个无限极回复功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

目前成都创新互联已为成百上千的企业提供了网站建设、域名、网站空间绵阳服务器托管、企业网站设计、齐齐哈尔网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

1.首先是数据表的设计:


create table zy_huifu
(
  code int auto_increment primary key, #回复代号
  puser varchar(50), #回复人员
  listcode int, #文章代号
  time varchar(50), #回复时间
  content text, #回复内容
  pcode int, #父级代号 0文章
  leval int, #级别 0顶级 1其它
  isok int #已读未读0未读1已读
);

评论和回复放在了一张表里面,为了在显示的时候做区分,评论作为顶级回复级别代号为0,其它的子级回复级别代号为1。

每个回复都有一个父级代号代表回复的哪一条评论,如果是直接评论的文章,父级代号设置为0.

2.接下来是在页面上显示评论和回复信息:

使用TP5.0框架怎么实现一个无限极回复功能

在控制器里面,我们需要去查询该文章下的所有评论及回复内容,并且注册到TP框架里面,这里调用了一个方法CommentList()来获取该文章下的评论回复:

//查询评论
$ahuifu = $this->CommentList($code,0);
$this->assign("ahuifu",$ahuifu);

CommentList()方法如下,使用递归的方式将所有评论回复按照一定的顺序查询出来并且存储到数组里面:

//读取评论列表的递归,code为文章代号,pcode为父级代号
  public function CommentList($code,$pcode){
    $commentlist = array(); //存储评论数组
    $list = Db::table("zy_huifu")
    ->alias('a')
    ->where("listcode",$code)
    ->where("pcode",$pcode)
    ->join("zy_user b","a.puser = b.uid")
    ->select();
    foreach($list as $v){
      $commentlist[] = $v;
      //查询子回复
      $zi = $this->CommentList($code,$v["code"]);
      if(count($zi)){
        foreach($zi as $v1){
          $commentlist[] = $v1;
        }
      }
    }
    return $commentlist;
  }

在view视图页面显示数据:

{volist name="ahuifu" id="vp"}
        {if condition="($vp.leval == 0)"}
        
        
          
              
            {$vp.name} 
            {$vp.time|date="Y-m-d H:i:s",###} 
            回复
          
                       {$vp.content}           
        
                 {else /}                                                         {$vp.name}              {$vp.time|date="Y-m-d H:i:s",###}              回复                                   {$vp.content}                                      {/if} {/volist}

3.添加回复及评论

添加评论的时候注意将父级代号pcode添加为0,将级别leval添加为0即可。

添加回复的时候将父级代号添加为要回复的这一条数据的主键,将级别leval添加为1即可。

关于使用TP5.0框架怎么实现一个无限极回复功能问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


文章名称:使用TP5.0框架怎么实现一个无限极回复功能-创新互联
本文链接:http://gzruizhi.cn/article/ddsiss.html

联系我们

您好HELLO!
感谢您来到宜宾网站建设公司,若您有合作意向,请您为我们留言或使用以下方式联系我们, 我们将尽快给你回复,并为您提供真诚的设计服务,谢谢。
  • 电话:028- 86922220 18980695689
  • 商务合作邮箱:631063699@qq.com
  • 合作QQ: 532337155
  • 成都网站设计地址:成都市青羊区锣锅巷31号五金站写字楼6楼

冠赛建站工作室

宜宾冠赛网站建设公司拥有多年以上互联网从业经验的团队,始终保持务实的风格,以"帮助客户成功"为已任,专注于提供对客户有价值的服务。 我们已为众企业及上市公司提供专业的网站建设服务。我们不只是一家网站建设的网络公司;我们对营销、技术、管理都有自己独特见解,冠赛建站采取“创意+综合+营销”一体化的方式为您提供更专业的服务!

冠赛观点

相对传统的宜宾网站建设公司而言,冠赛是互联网中的网站品牌策划,我们精于企业品牌与互联网相结合的整体战略服务。
我们始终认为,网站必须注入企业基因,真正使网站成为企业vi的一部分,让整个网站品牌策划体系变的深入而持久。