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 相关文章推荐
ajax缓存问题解决途径
Dec 06 PHP
PHP生成HTML静态页面实例代码
Aug 31 PHP
PHP文件注释标记及规范小结
Apr 01 PHP
php加密算法之实现可逆加密算法和解密分享
Jan 21 PHP
php按百分比生成缩略图的代码分享
May 10 PHP
PHP实现远程下载文件到本地
May 17 PHP
PHP基于mssql扩展远程连接MSSQL的简单实现方法
Oct 08 PHP
PHP表单验证内容是否为空的实现代码
Nov 14 PHP
php 删除指定文件夹的实例讲解
Jul 25 PHP
Laravel框架用户登陆身份验证实现方法详解
Sep 14 PHP
Laravel学习基础之migrate的使用教程
Oct 11 PHP
Laravel5.1框架路由分组用法实例分析
Jan 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
Codeigniter购物车类不能添加中文的解决方法
2014/11/29 PHP
PHP实现过滤各种HTML标签
2015/05/17 PHP
javascript引用对象的方法代码
2007/08/13 Javascript
javascript匿名函数实例分析
2014/11/18 Javascript
nodejs中实现阻塞实例
2015/03/24 NodeJs
Vue.js每天必学之表单控件绑定
2016/09/05 Javascript
AngularJS实现路由实例
2017/02/12 Javascript
详解vue-cli快速构建项目以及引入bootstrap、jq
2017/05/26 Javascript
JavaScript实现body内任意节点的自定义属性功能示例
2017/09/18 Javascript
使用vuex的state状态对象的5种方式
2018/04/19 Javascript
Node.js创建HTTP文件服务器的使用示例
2018/05/11 Javascript
vue获取时间戳转换为日期格式代码实例
2019/04/17 Javascript
jQuery Ajax async=&gt;false异步改为同步时,解决导致浏览器假死的问题
2019/07/22 jQuery
JavaScript实现京东快递单号查询
2020/11/30 Javascript
vue3.0中setup使用(两种用法)
2020/12/02 Vue.js
[01:12](回顾)DOTA2国际邀请赛,全世界DOTAer的盛宴
2014/07/01 DOTA
[07:26]2015国际邀请赛第二日TOP10集锦
2015/08/06 DOTA
Python 详解基本语法_函数_返回值
2017/01/22 Python
django如何自己创建一个中间件
2019/07/24 Python
Django框架组成结构、基本概念与文件功能分析
2019/07/30 Python
Python+OpenCV+图片旋转并用原底色填充新四角的例子
2019/12/12 Python
keras tensorflow 实现在python下多进程运行
2020/02/06 Python
HTML5中的postMessage API基本使用教程
2016/05/20 HTML / CSS
Becextech新西兰:数码单反相机和手机在线商店
2018/04/27 全球购物
世界上最好的野生海鲜和有机食品:Vital Choice
2020/01/16 全球购物
联强国际笔试题面试题
2013/07/10 面试题
毕业生教师求职信
2013/10/20 职场文书
妇产医师自荐信
2014/01/29 职场文书
给实习单位的感谢信
2014/02/01 职场文书
学校庆元旦歌咏比赛主持词
2014/03/18 职场文书
高中语文课后反思
2014/04/27 职场文书
2014年国庆节演讲稿
2014/09/02 职场文书
情感电台广播稿
2015/08/18 职场文书
初二数学教学反思
2016/02/17 职场文书
2017春节晚会开幕词
2016/03/03 职场文书
Python基础学习之奇异的GUI对话框
2021/05/27 Python