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


Posted in PHP onJune 09, 2018

本文实例讲述了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框架的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP $_FILES函数详解
Mar 09 PHP
php继承的一个应用
Sep 06 PHP
php短址转换实现方法
Feb 25 PHP
PHP模板引擎Smarty中的保留变量用法分析
Apr 11 PHP
PHP类相关知识点实例总结
Sep 28 PHP
PHP基于自定义函数生成笛卡尔积的方法示例
Sep 30 PHP
php获取微信共享收货地址的方法
Dec 21 PHP
PHP支付宝当面付2.0代码
Dec 21 PHP
Yii2框架配置文件(Application属性)与调试技巧实例分析
May 27 PHP
php转换上传word文件为PDF的方法【基于COM组件】
Jun 10 PHP
对laravel的session获取与存取方法详解
Oct 08 PHP
tp5框架使用cookie加密算法实现登录功能示例
Feb 10 PHP
ThinkPHP5框架实现简单的批量查询功能示例
Jun 07 #PHP
PHP 实现手机端APP支付宝支付功能
Jun 07 #PHP
Laravel程序架构设计思路之使用动作类
Jun 07 #PHP
laravel手动创建数组分页的实现代码
Jun 07 #PHP
thinkPHP框架实现生成条形码的方法示例
Jun 06 #PHP
使用PHP访问RabbitMQ消息队列的方法示例
Jun 06 #PHP
PHP简单实现记录网站访问量功能示例
Jun 06 #PHP
You might like
php 地区分类排序算法
2013/07/01 PHP
个人写的PHP验证码生成类分享
2014/08/21 PHP
php中unserialize返回false的解决方法
2014/09/22 PHP
Yii2.0中的COOKIE和SESSION用法
2016/08/12 PHP
php文件包含目录配置open_basedir的使用与性能详解
2017/04/03 PHP
mongodb和php的用法详解
2019/03/25 PHP
window.open的功能全解析
2006/10/10 Javascript
js动态生成指定行数的表格
2013/07/11 Javascript
js获取IFRAME当前的URL的方法
2013/11/13 Javascript
node.js中的fs.statSync方法使用说明
2014/12/16 Javascript
javascript批量修改文件编码格式的方法
2015/01/27 Javascript
Bootstrap框架动态生成Web页面文章内目录的方法
2016/05/12 Javascript
基于jquery插件编写countdown计时器
2016/06/12 Javascript
js判断输入字符串是否为空、空格、null的方法总结
2016/06/14 Javascript
完美实现js焦点轮播效果(一)
2017/03/07 Javascript
webpack+vue2构建vue项目骨架的方法
2018/01/09 Javascript
vue中如何使用ztree
2018/02/06 Javascript
JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例
2019/01/29 Javascript
vue项目中极验验证的使用代码示例
2019/12/03 Javascript
如何编写一个 Webpack Loader的实现
2020/10/18 Javascript
wxPython事件驱动实例详解
2014/09/28 Python
Python读取mp3中ID3信息的方法
2015/03/05 Python
浅谈python opencv对图像颜色通道进行加减操作溢出
2020/06/03 Python
CSS3悬停效果案例应用
2012/11/21 HTML / CSS
Canvas实现贝赛尔曲线轨迹动画的示例代码
2019/04/25 HTML / CSS
100%法国制造的游戏和玩具:Les Jouets Français
2021/03/02 全球购物
大学自我鉴定范文
2013/12/26 职场文书
中学生自我评价范文
2014/02/08 职场文书
竞选班长自荐书范文
2014/03/09 职场文书
妇女干部培训方案
2014/05/12 职场文书
抗洪救灾先进集体事迹材料
2014/05/26 职场文书
应届硕士毕业生自荐信
2014/05/26 职场文书
科技节口号
2014/06/19 职场文书
2014乡镇干部对照检查材料思想汇报
2014/09/26 职场文书
使用canvas对video视频某一刻截图功能
2021/09/25 HTML / CSS
Golang map映射的用法
2022/04/22 Golang