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 相关文章推荐
通过html表格发电子邮件
Oct 09 PHP
如何从一个php文件向另一个地址post数据,不用表单和隐藏的变量的
Mar 06 PHP
php制作unicode解码工具(unicode编码转换器)代码分享
Dec 24 PHP
CI框架入门示例之数据库取数据完整实现方法
Nov 05 PHP
PHP中数据类型转换的三种方式
Apr 02 PHP
php实现将Session写入数据库
Jul 26 PHP
PHP实现无限级分类(不使用递归)
Oct 22 PHP
php获取远程文件的内容和大小
Nov 03 PHP
PHP sleep()函数, usleep()函数
Aug 25 PHP
php foreach如何跳出两层循环(详解)
Nov 05 PHP
php使用curl实现简单模拟提交表单功能
May 15 PHP
浅谈php的TS和NTS的区别
Mar 13 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
人族 TERRAN 概述
2020/03/14 星际争霸
中国的第一台收音机
2021/03/01 无线电
简单谈谈php中的unicode和utf8编码
2015/06/10 PHP
php empty 函数判断结果为空但实际值却为非空的原因解析
2018/05/28 PHP
在Laravel 的 Blade 模版中实现定义变量
2019/10/14 PHP
给网站上的广告“加速”显示的方法
2007/04/08 Javascript
JavaScript的类型简单说明
2010/09/03 Javascript
关于IE BUG与字符串截取substr的解决办法
2013/04/10 Javascript
jQuery中end()方法用法实例
2015/01/08 Javascript
jQuery 判断图片是否加载完成方法汇总
2015/08/10 Javascript
漂亮! js实现颜色渐变效果
2016/08/12 Javascript
JavaScript 字符串常用操作小结(非常实用)
2016/11/30 Javascript
简单谈谈关于 npm 5.0 的新坑
2017/06/08 Javascript
JS Object.preventExtensions(),Object.seal()与Object.freeze()用法实例分析
2018/08/25 Javascript
JS实现十分钟倒计时代码实例
2018/10/18 Javascript
layer弹出框确定前验证:弹出消息框的方法(弹出两个layer)
2019/09/21 Javascript
JSONP 的原理、理解 与 实例分析
2020/05/16 Javascript
JavaScript实现瀑布流布局的3种方式
2020/12/27 Javascript
JS数组索引检测中的数据类型问题详解
2021/01/11 Javascript
[00:12]DAC SOLO赛卫冕冠军 VG.Paparazi灬展现SOLO技巧
2018/04/06 DOTA
利用Python爬取可用的代理IP
2016/08/18 Python
python使用matplotlib绘制折线图教程
2017/02/08 Python
python 实现上传图片并预览的3种方法(推荐)
2017/07/14 Python
Python 给定的经纬度标注在地图上的实现方法
2019/07/05 Python
python获取当前文件路径以及父文件路径的方法
2019/07/10 Python
Python将二维列表list的数据输出(TXT,Excel)
2020/04/23 Python
Opencv+Python识别PCB板图片的步骤
2021/01/07 Python
浅谈基于Canvas的手绘风格图形库Rough.js
2018/03/19 HTML / CSS
捷克电器和DJ设备网上商店:Electronic-star
2017/07/18 全球购物
高中生学习的自我评价
2013/12/14 职场文书
毕业生求职信的经典写法
2014/01/31 职场文书
公司联欢晚会主持词
2014/03/22 职场文书
领导干部廉政承诺书
2014/03/27 职场文书
市级绿色学校申报材料
2014/08/25 职场文书
三傻大闹宝莱坞观后感
2015/06/03 职场文书
《半截蜡烛》教学反思
2016/02/19 职场文书