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中通过语义URL防止网站被攻击的方法分享
Sep 08 PHP
使用PHP强制下载PDF文件示例
Jan 17 PHP
destoon出现验证码不显示时的紧急处理方法
Aug 22 PHP
ThinkPHP的MVC开发机制实例解析
Aug 23 PHP
php简单判断文本编码的方法
Jul 30 PHP
WordPress开发中短代码的实现及相关函数使用技巧
Jan 05 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
Sep 22 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
Nov 14 PHP
基于Laravel 多个中间件的执行顺序详解
Oct 21 PHP
PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
Nov 04 PHP
Laravel 微信小程序后端实现用户登录的示例代码
Nov 26 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
基于Windows下Apache PHP5.3.1安装教程
2010/01/08 PHP
rrmdir php中递归删除目录及目录下的文件
2011/05/15 PHP
PHP中遍历stdclass object的实现代码
2011/06/09 PHP
PHP转换IP地址到真实地址的方法详解
2013/06/09 PHP
ThinkPHP2.0读取MSSQL提示Incorrect syntax near the keyword 'AS'的解决方法
2014/06/25 PHP
高质量PHP代码的50个实用技巧必备(上)
2016/01/22 PHP
PHP框架laravel的.env文件配置教程
2017/06/07 PHP
PHP有序表查找之二分查找(折半查找)算法示例
2018/02/09 PHP
PhpStorm 2020.3:新增开箱即用的PHP 8属性(推荐)
2020/10/30 PHP
让textarea控件的滚动条怎是位与最下方
2007/04/20 Javascript
在JavaScript中处理时间之setMinutes()方法的使用
2015/06/11 Javascript
详解javascript new的运行机制
2016/01/26 Javascript
js实现为a标签添加事件的方法(使用闭包循环)
2016/08/02 Javascript
NodeJS中的MongoDB快速入门详细教程
2016/11/11 NodeJs
微信小程序实现传参数的几种方法示例
2018/01/10 Javascript
关闭Vue计算属性自带的缓存功能方法
2018/03/02 Javascript
vue ssr 实现方式(学习笔记)
2019/01/18 Javascript
手把手教你如何编译打包video.js
2020/12/09 Javascript
js删除指定位置超链接中含有百度与360的标题
2021/01/06 Javascript
nestjs返回给前端数据格式的封装实现
2021/02/22 Javascript
[04:27]DOTA2官方论坛水友赛集锦
2013/09/16 DOTA
python获取指定时间差的时间实例详解
2017/04/11 Python
python 使用get_argument获取url query参数
2017/04/28 Python
Python算法之求n个节点不同二叉树个数
2017/10/27 Python
selenium+python 去除启动的黑色cmd窗口方法
2018/05/22 Python
Python实现的json文件读取及中文乱码显示问题解决方法
2018/08/06 Python
python实现简单名片管理系统
2018/11/30 Python
python找出一个列表中相同元素的多个索引实例
2019/06/11 Python
python创建子类的方法分析
2019/11/28 Python
CSS3 clip-path 用法介绍详解
2018/03/01 HTML / CSS
Stylenanda中文站:韩国一线网络服装品牌
2016/12/22 全球购物
十佳青年事迹材料
2014/08/21 职场文书
知识就是力量演讲稿
2014/09/13 职场文书
解决hive中导入text文件遇到的坑
2021/04/07 Python
MySQL sql_mode修改不生效的原因及解决
2021/05/07 MySQL
python 解决微分方程的操作(数值解法)
2021/05/26 Python