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学习之正则表达式
Apr 17 PHP
php 检查电子邮件函数(自写)
Jan 16 PHP
php目录操作实例代码
Feb 21 PHP
php实现的支持断点续传的文件下载类
Sep 23 PHP
thinkphp模板用法和内容输出实例
Nov 28 PHP
全面解读PHP的人气开发框架Laravel
Oct 15 PHP
CodeIgniter 完美解决URL含有中文字符串
May 13 PHP
thinkphp3.x自定义Action、Model及View的简单实现方法
May 19 PHP
PHP常见的6个错误提示及解决方法
Jul 07 PHP
关于php 高并发解决的一点思路
Apr 16 PHP
Laravel框架基于中间件实现禁止未登录用户访问页面功能示例
Jan 17 PHP
关于Laravel-admin的基础用法总结和自定义model详解
Oct 08 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
我的论坛源代码(九)
2006/10/09 PHP
PHP扩展程序实现守护进程
2015/04/16 PHP
php curl 上传文件代码实例
2015/04/27 PHP
php实现的错误处理封装类实例
2017/06/20 PHP
JavaScript写的一个DIV 弹出网页对话框
2009/08/14 Javascript
页面使用密码保护代码
2013/04/10 Javascript
js脚本获取webform服务器控件的方法
2014/05/16 Javascript
浅谈javascript中createElement事件
2014/12/05 Javascript
在JavaScript的正则表达式中使用exec()方法
2015/06/16 Javascript
使用Node.js为其他程序编写扩展的基本方法
2015/06/23 Javascript
jQuery实现大转盘抽奖活动仿QQ音乐代码分享
2015/08/21 Javascript
每天一篇javascript学习小结(Function对象)
2015/11/16 Javascript
Javascript技术栈中的四种依赖注入详解
2016/02/23 Javascript
JavaScript基于replace+正则实现ES6的字符串模版功能
2017/04/25 Javascript
Angularjs上传图片实例详解
2017/08/06 Javascript
JS实现仿微信支付弹窗功能
2018/06/25 Javascript
Bootstrap Table列宽拖动的方法
2018/08/15 Javascript
解决Vue中 父子传值 数据丢失问题
2019/08/27 Javascript
vue h5移动端禁止缩放代码
2019/10/28 Javascript
vue中如何自定义右键菜单详解
2020/12/08 Vue.js
Python实现爬取百度贴吧帖子所有楼层图片的爬虫示例
2018/04/26 Python
TensorFlow绘制loss/accuracy曲线的实例
2020/01/21 Python
TensorFlow 读取CSV数据的实例
2020/02/05 Python
pycharm中导入模块错误时提示Try to run this command from the system terminal
2020/03/26 Python
清除canvas画布内容(点擦除+线擦除)
2020/08/12 HTML / CSS
世界上最受欢迎的花店:1-800-Flowers.com
2020/06/01 全球购物
乌克兰鞋类购物网站:Eobuv.com.ua
2020/11/28 全球购物
优秀学生干部个人的自我评价
2013/10/04 职场文书
内勤主管岗位职责
2014/04/03 职场文书
大班亲子运动会方案
2014/06/10 职场文书
财务科长个人对照检查材料
2014/09/18 职场文书
师德承诺书2015
2015/04/28 职场文书
民间借贷纠纷起诉书
2015/08/03 职场文书
基于Golang 高并发问题的解决方案
2021/05/08 Golang
mysql 索引合并的使用
2021/08/30 MySQL
Python帮你解决手机qq微信内存占用太多问题
2022/02/15 Python