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 相关文章推荐
一次编写,随处运行
Oct 09 PHP
回答PHPCHINA上的几个问题:URL映射
Feb 14 PHP
Function eregi is deprecated (解决方法)
Jun 21 PHP
分享下php5类中三种数据类型的区别
Jan 26 PHP
php随机生成数字字母组合的方法
Mar 18 PHP
在PHP中使用FastCGI解析漏洞及修复方案
Nov 10 PHP
php mongodb操作类 带几个简单的例子
Aug 25 PHP
Ajax实现对静态页面的文章访问统计功能示例
Oct 10 PHP
php获取字符串前几位的实例(substr返回字符串的子串用法)
Mar 08 PHP
php xhprof使用实例详解
Apr 15 PHP
PHP数据源架构模式之表入口模式实例分析
Jan 23 PHP
PHP扩展安装方法步骤解析
Nov 24 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进行批量任务处理不超时的解决方法
2016/07/11 PHP
解决出现SoapFault (looks like we got no XML document)的问题
2017/06/24 PHP
PHP实现文字写入图片功能
2019/02/18 PHP
JavaScript 开发规范要求(图文并茂)
2010/06/11 Javascript
深入理解JavaScript系列(16) 闭包(Closures)
2012/04/12 Javascript
基于mootools插件实现遮罩层新手引导
2012/05/24 Javascript
JQuery获取样式中的background-color颜色值的问题
2013/08/20 Javascript
javascript去除字符串中所有标点符号和提取纯文本的正则
2014/06/07 Javascript
jQuery实现自定义下拉列表
2015/01/05 Javascript
Javascript字符串常用方法详解
2016/07/21 Javascript
Node.js中看JavaScript的引用
2017/04/22 Javascript
基于BootStrap multiselect.js实现的下拉框联动效果
2017/07/28 Javascript
微信小程序实现倒计时60s获取验证码
2020/04/17 Javascript
解决Js先触发失去焦点事件再执行点击事件的问题
2018/08/30 Javascript
从Vuex中取出数组赋值给新的数组,新数组push时报错的解决方法
2018/09/18 Javascript
记一次vue-webpack项目优化实践详解
2019/02/17 Javascript
vue 项目打包时样式及背景图片路径找不到的解决方式
2019/11/12 Javascript
Angular 多级路由实现登录页面跳转(小白教程)
2019/11/19 Javascript
快速解决element的autofocus失效问题
2020/09/08 Javascript
解决Antd Table组件表头不对齐的问题
2020/10/27 Javascript
[01:41]DOTA2 2015国际邀请赛中国区预选赛第三日战报
2015/05/28 DOTA
用Python生成器实现微线程编程的教程
2015/04/13 Python
python获得文件创建时间和修改时间的方法
2015/06/30 Python
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
2015/10/18 Python
python 把数据 json格式输出的实例代码
2016/10/31 Python
python实现requests发送/上传多个文件的示例
2018/06/04 Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
2019/11/07 Python
爬虫代理的cookie如何生成运行
2020/09/22 Python
美国最佳选择产品网站:Best Choice Products
2019/05/27 全球购物
美国气象仪器、花园装饰和墙壁艺术商店:Wind & Weather
2019/05/29 全球购物
澳洲CFL商城:CHEMIST FOR LESS(中文)
2021/02/28 全球购物
什么是类的返射机制
2016/02/06 面试题
销售代表求职自荐信
2013/10/01 职场文书
优秀辅导员事迹材料
2014/02/16 职场文书
小学课外阅读总结
2014/07/09 职场文书
党校毕业个人总结
2015/02/28 职场文书