这篇文章主要介绍了thinkPHP框架实现的无限回复评论功能,结合实例形式简单分析了thinkPHP实现无限回复的相关控制器、视图操作技巧,需要的朋友可以参考下
本文实例讲述了thinkPHP框架实现的无限回复评论功能。分享给大家供大家参考,具体如下:
如果只是简单的单回复的评论的话,那样操作是很简单的。但问题就是如何实现无限的回复评论呢!那么如果只是单回复的话,需要建好多的数据表,是根本不可能实现的。那么用TP框架实现无限回复评论,注意数据库的使用。
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> <p class="commentList " style="padding-left:{$vo['level']-1}cm"> <p><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></p> <p class="content">{$vo.content|reFace}</p> </p> </volist>
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
以上是关于用thinkPHP框架实现无限回复评论的功能代码的详细内容。更多信息请关注PHP中文网其他相关文章!