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 相关文章推荐
封装一个PDO数据库操作类代码
Sep 09 PHP
使用zend studio for eclipse不能激活代码提示功能的解决办法
Oct 11 PHP
Php获取金书网的书名的实现代码
Jun 11 PHP
初步介绍PHP扩展开发经验分享
Sep 06 PHP
laravel 4安装及入门图文教程
Oct 29 PHP
ThinkPHP无限级分类原理实现留言与回复功能实例
Oct 31 PHP
php删除txt文件指定行及按行读取txt文档数据的方法
Jan 30 PHP
简单谈谈 php 文件锁
Feb 19 PHP
PHP基于XMLWriter操作xml的方法分析
Jul 17 PHP
thinkPHP框架实现的简单计算器示例
Dec 07 PHP
PHP安装BCMath扩展的方法
Feb 13 PHP
php中file_get_contents()函数用法实例
Feb 21 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
linux下 C语言对 php 扩展
2008/12/14 PHP
php中getservbyport与getservbyname函数用法实例
2014/11/18 PHP
UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版
2015/12/08 PHP
php使用glob函数遍历文件和目录详解
2016/09/23 PHP
PHP框架自动加载类文件原理详解
2017/06/06 PHP
PHP代码重构方法漫谈
2018/04/17 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
2020/02/27 PHP
用JS操作FRAME中的IFRAME及其内容的实现代码
2008/07/26 Javascript
javascript字符串替换及字符串分割示例代码
2013/12/12 Javascript
把Node.js程序加入服务实现随机启动
2015/06/25 Javascript
node.js报错:Cannot find module 'ejs'的解决办法
2016/12/14 Javascript
node.js中grunt和gulp的区别详解
2017/07/17 Javascript
JavaScript中的FileReader图片预览上传功能实现代码
2017/07/24 Javascript
如何利用JS将手机号中间四位变成*号
2020/09/29 Javascript
vue 实现基础组件的自动化全局注册
2020/12/25 Vue.js
videocapture库制作python视频高速传输程序
2013/12/23 Python
用Python的线程来解决生产者消费问题的示例
2015/04/02 Python
举例简单讲解Python中的数据存储模块shelve的用法
2016/03/03 Python
Python numpy 提取矩阵的某一行或某一列的实例
2018/04/03 Python
Python提取支付宝和微信支付二维码的示例代码
2019/02/15 Python
对Python3使运行暂停的方法详解
2019/02/18 Python
Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法
2019/09/24 Python
用python打开摄像头并把图像传回qq邮箱(Pyinstaller打包)
2020/05/17 Python
Selenium获取登录Cookies并添加Cookies自动登录的方法
2020/12/04 Python
宝拉珍选美国官网:Paula’s Choice美国
2018/01/07 全球购物
三星法国官方网站:Samsung法国
2019/10/31 全球购物
2015年元旦文艺汇演主持词
2014/03/26 职场文书
项目投资意向书
2014/04/01 职场文书
礼貌问候语大全
2015/11/10 职场文书
小学英语新课改心得体会
2016/01/22 职场文书
小学美术教学反思
2016/02/17 职场文书
聊一聊python常用的编程模块
2021/05/14 Python
浅谈mysql返回Boolean类型的几种情况
2021/06/04 MySQL
python 网络编程要点总结
2021/06/18 Python
C#连接ORACLE出现乱码问题的解决方法
2021/10/05 Oracle
Java 垃圾回收超详细讲解记忆集和卡表
2022/04/08 Java/Android