thinkPHP框架实现的无限回复评论功能示例
编程学习 2021-07-05 08:24www.dzhlxh.cn编程入门
这篇文章主要介绍了thinkPHP框架实现的无限回复评论功能,结合实例形式简单分析了thinkPHP实现无限回复的相关控制器、视图操作技巧,需要的朋友可以参考下
本文实例讲述了thinkPHP框架实现的无限回复评论功能。分享给大家供大家参考,具体如下:
如果只是简单的单回复的评论的话,那样操作是很简单的。但问题就是如何实现无限的回复评论呢!那么如果只是单回复的话,需要建好多的数据表,是根本不可能实现的。那么用TP框架实现无限回复评论(GitHub源代码下载地址:)下载完成后,注意数据库的使用。
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框架的PHP程序设计有所帮助。