当前位置: 移动技术网 > IT编程>开发语言>PHP > thinkPHP框架实现的无限回复评论功能示例

thinkPHP框架实现的无限回复评论功能示例

2018年08月10日  | 移动技术网IT编程  | 我要评论

非主流情侣签名,心魔小天狼星,刘桃绫微博

本文实例讲述了thinkphp框架实现的无限回复评论功能。分享给大家供大家参考,具体如下:

如果只是简单的单回复的评论的话,那样操作是很简单的。但问题就是如何实现无限的回复评论呢!那么如果只是单回复的话,需要建好多的数据表,是根本不可能实现的。那么用tp框架实现无限回复评论(github源代码下载地址:https://github.com/jonybin/responsemessage)下载完成后,注意数据库的使用。

control控制器部分:

function commentlist($pid = 0, &$commentlist = array(), $spac = 0) {
    static $i = 0;
    $spac = $spac + 1; //初始为1级评论
    $list = m('comment')->
        field('id,add_time,author,content,pid')->
        where(array('pid' => $pid))->order("id desc")->select();
    foreach ($list as $k => $v) {
      $commentlist[$i]['level'] = $spac; //评论层级
      $commentlist[$i]['author'] = $v['author'];
      $commentlist[$i]['id'] = $v['id'];
      $commentlist[$i]['pid'] = $v['pid']; //此条评论的父id
      $commentlist[$i]['content'] = $v['content'];
      $commentlist[$i]['time'] = $v['add_time'];
      // $commentlist[$i]['pauthor']=$pautor;
      $i++;
      $this->commentlist($v['id'], $commentlist, $spac);
    }
    return $commentlist;
}

view视图部分:

<volist name="commentlist" id="vo">
 <eq name="vo.pid" value="0"><hr class="solidline"/><else/><hr class="dottedline"/></eq>
 <div class="commentlist " style="padding-left:{$vo['level']-1}cm">
   <div><span class="user">
   <if condition="($vo.pauthor eq null)">{$vo.author}
  <else /> {$vo.author}<span class="black" style="color: #000101">回复</span>{$vo.pauthor}
   </if>
 </span><a class="hf" id="{$vo.id}" style="float: right">回复</a><span class="hftime">{$vo.time|date="y-m-d",###}</span></div>
   <div class="content">{$vo.content|reface}</div>
 </div>
</volist>

完整实例代码可点击此处。

更多关于thinkphp相关内容感兴趣的读者可查看本站专题:《thinkphp入门教程》、《thinkphp模板操作技巧总结》、《thinkphp常用方法总结》、《codeigniter入门教程》、《ci(codeigniter)框架进阶教程》、《zend framework框架入门教程》及《php模板技术总结》。

希望本文所述对大家基于thinkphp框架的php程序设计有所帮助。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网