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中的超全局变量
Oct 09 PHP
PHP Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\
Jun 17 PHP
php中删除字符串中最先出现某个字符的实现代码
Feb 03 PHP
php比较两个绝对时间的大小
Jan 31 PHP
PHP实现更新中间关联表数据的两种方法
Sep 01 PHP
php实现的CSS更新类实例
Sep 22 PHP
php上传文件并存储到mysql数据库的方法
Mar 16 PHP
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
Dec 14 PHP
Json_decode 解析json字符串为NULL的解决方法(必看)
Feb 17 PHP
PHP实现的登录页面信息提示功能示例
Jul 24 PHP
CI框架(CodeIgniter)实现的导入、导出数据操作示例
May 24 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
Oct 15 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环境搭建最新方法
2006/09/05 PHP
浅析PHP中的字符串编码转换(自动识别原编码)
2013/07/02 PHP
php循环创建目录示例分享(php创建多级目录)
2014/03/04 PHP
简单谈谈favicon
2015/06/10 PHP
php函数传值的引用传递注意事项分析
2016/06/25 PHP
JavaScript实现GriwView单列全选(自写代码)
2013/05/13 Javascript
Javascript中String的常用方法实例分析
2015/06/13 Javascript
基于jQuery Tipso插件实现消息提示框特效
2016/03/16 Javascript
jQuery点击输入框显示验证码图片
2016/05/19 Javascript
利用bootstrapValidator验证UEditor
2016/09/14 Javascript
微信端开发--登录小程序步骤
2017/01/11 Javascript
js判断传入时间和当前时间大小实例(超简单)
2018/01/11 Javascript
jQuery轮播图实例详解
2018/08/15 jQuery
jQuery操作attr、prop、val()/text()/html()、class属性
2019/05/23 jQuery
vue2.0 实现富文本编辑器功能
2019/05/26 Javascript
小程序外卖订单界面的示例代码
2019/12/30 Javascript
浅谈TypeScript的类型保护机制
2020/02/23 Javascript
vue+iview分页组件的封装
2020/11/17 Vue.js
Python利用正则表达式匹配并截取指定子串及去重的方法
2015/07/30 Python
利用 python 对目录下的文件进行过滤删除
2017/12/27 Python
Python logging管理不同级别log打印和存储实例
2018/01/19 Python
使用django的ORM框架按月统计近一年内的数据方法
2019/07/18 Python
Python大数据之从网页上爬取数据的方法详解
2019/11/16 Python
python 求10个数的平均数实例
2019/12/16 Python
python3 Scrapy爬虫框架ip代理配置的方法
2020/01/17 Python
python简单的三元一次方程求解实例
2020/04/02 Python
python产生模拟数据faker库的使用详解
2020/11/04 Python
ECCO爱步美国官网:来自丹麦的鞋履品牌
2016/11/23 全球购物
如何找出EMP表里面SALARY第N高的employee
2013/12/05 面试题
一百多行代码实现react拖拽hooks
2021/03/23 Javascript
给医务人员表扬信
2014/01/12 职场文书
2014乡党委副书记党建工作汇报材料
2014/11/02 职场文书
2014年工作总结及2015工作计划
2014/12/12 职场文书
长江七号观后感
2015/06/11 职场文书
MySQL中VARCHAR与CHAR格式数据的区别
2021/05/26 MySQL
java项目构建Gradle的使用教程
2022/03/24 Java/Android