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和AJAX创建RSS聚合器的代码
Mar 13 PHP
php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码
Oct 22 PHP
PHP中通过语义URL防止网站被攻击的方法分享
Sep 08 PHP
php数组键名技巧小结
Feb 17 PHP
php简单判断文本编码的方法
Jul 30 PHP
PHP图片添加水印功能示例小结
Oct 03 PHP
thinkPHP5.0框架整体架构总览【应用,模块,MVC,驱动,行为,命名空间等】
Mar 25 PHP
php获取ip及网址的简单方法(必看)
Apr 01 PHP
基于ThinkPHP实现的日历功能实例详解
Apr 15 PHP
ThinkPHP5.0框架使用build 自动生成模块操作示例
Apr 11 PHP
Laravel框架控制器的request与response用法示例
Sep 30 PHP
PHP使用PDO实现mysql防注入功能详解
Dec 20 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类与对象中的private访问控制的疑问
2012/11/01 PHP
php上传文件并存储到mysql数据库的方法
2015/03/16 PHP
PHP stream_context_create()函数的使用示例
2015/05/12 PHP
微信 开发生成带参数的二维码的实例
2016/11/23 PHP
Javascript var变量隐式声明方法
2009/10/19 Javascript
jquery对表单操作2
2011/04/06 Javascript
jQuery 瀑布流 浮动布局(一)(延迟AJAX加载图片)
2012/05/23 Javascript
ie8下修改input的type属性报错的解决方法
2014/09/16 Javascript
jQuery简单实现遍历数组的方法
2015/04/14 Javascript
Javascript实现时间倒计时效果
2017/07/15 Javascript
JavaScript 中Date对象的格式化代码方法汇总
2017/09/06 Javascript
jQuery 实现左右两侧菜单添加、移除功能
2018/01/02 jQuery
node基于async/await对mysql进行封装
2019/06/20 Javascript
小程序如何获取多个formId实现详解
2019/09/20 Javascript
JavaScript 作用域实例分析
2019/10/02 Javascript
nodejs开发一个最简单的web服务器实例讲解
2020/01/02 NodeJs
JavaScript setTimeout()基本用法有哪些
2020/11/04 Javascript
多种类型jQuery网页验证码插件代码实例
2021/01/09 jQuery
Vue中避免滥用this去读取data中数据
2021/03/02 Vue.js
Python操作列表的常用方法分享
2014/02/13 Python
Python爬虫爬取美剧网站的实现代码
2016/09/03 Python
Python编译为二进制so可执行文件实例
2019/12/23 Python
Python实现序列化及csv文件读取
2020/01/19 Python
基于Python 的语音重采样函数解析
2020/07/06 Python
matplotlib教程——强大的python作图工具库
2020/10/15 Python
移动端解决悬浮层(悬浮header、footer)会遮挡住内容的3种方法
2015/03/27 HTML / CSS
LG西班牙网上商店:Tienda LG Online Es
2019/07/30 全球购物
领导检查欢迎词
2014/01/14 职场文书
2015年女生节活动总结
2015/02/27 职场文书
中英文求职信范文
2015/03/19 职场文书
2015年财政局工作总结
2015/05/21 职场文书
和领导吃饭祝酒词
2015/08/11 职场文书
导游词之蓬莱长岛
2019/12/17 职场文书
Python Flask搭建yolov3目标检测系统详解流程
2021/11/07 Python
GO中sync包自由控制并发示例详解
2022/08/05 Golang
Redis实战之Lettuce的使用技巧详解
2022/12/24 Redis