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边学边教》(02.Apache+PHP环境配置――下篇)
Dec 13 PHP
使用 MySQL Date/Time 类型
Mar 26 PHP
php入门学习知识点二 PHP简单的分页过程与原理
Jul 14 PHP
PHP设计模式之解释器模式的深入解析
Jun 13 PHP
mysql_connect localhost和127.0.0.1的区别(网络层阐述)
Mar 26 PHP
PHP生成plist数据的方法
Jun 16 PHP
php实现的递归提成方案实例
Nov 14 PHP
PHP中的数组处理函数实例总结
Jan 09 PHP
Ajax请求PHP后台接口返回信息的实例代码
Aug 21 PHP
laravel 如何实现引入自己的函数或类库
Oct 15 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
Nov 14 PHP
windows系统php环境安装swoole具体步骤
Mar 04 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
DC宇宙的第一个英雄,堪称动漫史鼻祖,如今成为美国文化的象征
2020/04/09 欧美动漫
漫威DC即将合作联动,而双方早已经秘密开始
2020/04/09 欧美动漫
百度地图API应用之获取用户的具体位置
2014/06/10 PHP
19个Android常用工具类汇总
2014/12/30 PHP
ThinkPHP静态缓存简单配置和使用方法详解
2016/03/23 PHP
php基于自定义函数记录log日志方法
2017/07/21 PHP
php实现session共享的实例方法
2019/09/19 PHP
dotopAlert 提示用户需安装播放器的代码
2012/09/17 Javascript
点击页面其它地方隐藏该div的两种思路
2013/11/18 Javascript
javasript实现密码的隐藏与显示
2015/05/08 Javascript
jQuery中 prop() attr()使用详解
2015/05/19 Javascript
jQuery实现仿QQ空间装扮预览图片的鼠标提示效果代码
2015/10/30 Javascript
Angular2环境搭建具体操作步骤(推荐)
2017/08/04 Javascript
浅谈Angular路由守卫
2017/08/26 Javascript
Javascript中prototype与__proto__的关系详解
2018/03/11 Javascript
使用electron将vue-cli项目打包成exe的方法
2018/09/29 Javascript
JavaScript事件对象深入详解
2018/12/30 Javascript
如何在微信小程序里面退出小程序的方法
2019/04/28 Javascript
JavaScript中的 new 命令
2019/05/22 Javascript
微信小程序动态设置图片大小的方法
2019/11/21 Javascript
[26:24]完美副总裁、DOTA2负责人蔡玮专访:电竞如人生
2014/09/11 DOTA
python类参数self使用示例
2014/02/17 Python
Python中的字符串查找操作方法总结
2016/06/27 Python
Python编程实现正则删除命令功能
2017/08/30 Python
Django使用Celery异步任务队列的使用
2018/03/13 Python
浅谈tensorflow中几个随机函数的用法
2018/07/27 Python
如何使用Python实现斐波那契数列
2019/07/02 Python
python 执行终端/控制台命令的例子
2019/07/12 Python
完美解决jupyter由于无法import新包的问题
2020/05/26 Python
详解pandas映射与数据转换
2021/01/22 Python
HTML5 微格式和相关的属性名称
2010/02/10 HTML / CSS
加拿大服装和鞋类零售商:Mark’s
2021/01/04 全球购物
软件测试面试题
2014/01/05 面试题
初三开学计划书
2014/04/27 职场文书
2015年学校精神文明工作总结
2015/05/27 职场文书
PHP获取学生成绩的方法
2021/11/17 PHP