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
用js进行url编码后用php反解以及用php实现js的escape功能函数总结
Feb 08 PHP
适用于php-5.2 的 php.ini 中文版[金步国翻译]
Apr 17 PHP
探讨php中防止SQL注入最好的方法是什么
Jun 10 PHP
PHP获取浏览器信息类和客户端地理位置的2个方法
Apr 24 PHP
php防止伪造的数据从URL提交方法
Jun 27 PHP
THINKPHP2.0到3.0有哪些改进之处
Jan 04 PHP
PHP程序中使用adodb连接不同数据库的代码实例
Dec 19 PHP
解析WordPress中控制用户登陆和判断用户登陆的PHP函数
Mar 01 PHP
Centos PHP 扩展Xchche的安装教程
Jul 09 PHP
Yii2框架BootStrap样式的深入理解
Nov 07 PHP
laravel请求参数校验方法
Oct 10 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网页显示各种语法错误
2013/09/23 PHP
php实现文件下载代码分享
2014/08/19 PHP
PHP Warning: Module 'modulename' already loaded in问题解决办法
2015/03/16 PHP
详解PHP执行定时任务的实现思路
2015/12/21 PHP
thinkphp 字母函数详解T/I/N/D/M/A/R/U
2017/04/03 PHP
PHP的mysqli_stmt_init()函数讲解
2019/01/24 PHP
javascript 学习之旅 (1)
2009/02/05 Javascript
javascript 清除输入框中的数据
2009/04/13 Javascript
改变javascript函数内部this指针指向的三种方法
2010/04/23 Javascript
20款效果非常棒的 jQuery 插件小结分享
2011/11/18 Javascript
javascript间隔定时器(延时定时器)学习 间隔调用和延时调用
2014/01/13 Javascript
用jquery写的一个万年历(自写)
2014/01/20 Javascript
原生javaScript实现图片延时加载的方法
2014/12/22 Javascript
JavaScript实现列表分页功能特效
2015/05/15 Javascript
使用AngularJS对路由进行安全性处理的方法
2015/06/18 Javascript
BootStrap中Tab页签切换实例代码
2016/05/30 Javascript
Javascript数组中push方法用法分析
2016/10/31 Javascript
Vue2.0表单校验组件vee-validate的使用详解
2017/05/02 Javascript
jQuery EasyUI开发技巧总结
2017/09/26 jQuery
nodejs实现OAuth2.0授权服务认证
2017/12/27 NodeJs
JavaScript实现图片懒加载的方法分析
2018/07/05 Javascript
搭建vue开发环境
2018/07/19 Javascript
JS中封装axios来管控api的2种方式
2019/09/11 Javascript
小程序实现图片移动缩放效果
2020/05/26 Javascript
[00:23]魔方之谜解锁款式
2018/12/20 DOTA
在Docker上部署Python的Flask框架的教程
2015/04/08 Python
python生成词云的实现方法(推荐)
2017/06/13 Python
django允许外部访问的实例讲解
2018/05/14 Python
python卸载后再次安装遇到的问题解决
2019/07/10 Python
关于Python Tkinter Button控件command传参问题的解决方式
2020/03/04 Python
在校生钳工实习自我鉴定
2013/09/19 职场文书
《中国的气候》教学反思
2014/02/23 职场文书
医院合作协议书
2014/08/19 职场文书
党员四风问题对照检查材料
2014/09/27 职场文书
医生个人自我剖析材料
2014/10/08 职场文书
nginx从安装到配置详细说明(安装,安全配置,防盗链,动静分离,配置 HTTPS,性能优化)
2022/02/12 Servers