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 相关文章推荐
一个ORACLE分页程序,挺实用的.
Oct 09 PHP
PHP 高手之路(三)
Oct 09 PHP
php在字符串中查找另一个字符串
Nov 19 PHP
从零开始学YII2框架(二)通过 Composer 安装扩展插件
Aug 20 PHP
Laravel 4 初级教程之Pages、表单验证
Oct 30 PHP
php网站被挂木马后的修复方法总结
Nov 06 PHP
ThinkPHP3.2.2的插件控制器功能
Mar 05 PHP
php操作memcache缓存方法分享
Jun 03 PHP
使用PHP和JavaScript判断请求是否来自微信内浏览器
Aug 18 PHP
Windows平台实现PHP连接SQL Server2008的方法
Jul 26 PHP
PHP中Session ID的实现原理实例分析
Aug 17 PHP
ThinkPHP5&amp;5.1实现验证码的生成、使用及点击刷新功能示例
Feb 07 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 编写安全的代码时容易犯的错误小结
2010/05/20 PHP
第六章 php目录与文件操作
2011/12/30 PHP
[原创]提供复制本站内容时出现,该文章转自脚本之家等字样的js代码
2007/03/27 Javascript
JQuery 获取和设置Select选项的代码
2010/02/07 Javascript
jQuery Study Notes学习笔记 (二)
2010/08/04 Javascript
基于Jquery的淡入淡出的特效基础练习
2010/12/13 Javascript
javascript中的onkeyup和onkeydown区别介绍
2013/04/28 Javascript
js调用AJAX时Get和post的乱码解决方法
2013/06/04 Javascript
JavaScript图片放大技术(放大镜)实现代码分享
2013/11/14 Javascript
vue.js+Element实现表格里的增删改查
2017/01/18 Javascript
servlet+jquery实现文件上传进度条示例代码
2017/01/25 Javascript
深入理解JavaScript创建对象的多种方式以及优缺点
2017/06/01 Javascript
用vue2.0实现点击选中active其他选项互斥的效果
2018/04/12 Javascript
Vue2.0 实现歌手列表滚动及右侧快速入口功能
2018/08/08 Javascript
vue slots 组件的组合/分发实例
2018/09/06 Javascript
10行代码实现微信小程序滑动tab切换
2018/12/28 Javascript
[01:13:08]2018DOTA2亚洲邀请赛4.6 淘汰赛 mineski vs LGD 第二场
2018/04/10 DOTA
python和bash统计CPU利用率的方法
2015/07/10 Python
python使用PyCharm进行远程开发和调试
2017/11/02 Python
Python变量赋值的秘密分享
2018/04/03 Python
如何用python写一个简单的词法分析器
2018/12/18 Python
详解python中init方法和随机数方法
2019/03/13 Python
python绘制地震散点图
2019/06/18 Python
基于python实现FTP文件上传与下载操作(ftp&amp;sftp协议)
2020/04/01 Python
Pytorch数据拼接与拆分操作实现图解
2020/04/30 Python
Keras设定GPU使用内存大小方式(Tensorflow backend)
2020/05/22 Python
htnl5利用svg页面高斯模糊的方法
2018/07/20 HTML / CSS
匡威意大利官方商店 :Converse意大利
2018/11/27 全球购物
CSMA/CD介质访问控制协议
2015/11/17 面试题
保荐人的岗位职责
2013/11/19 职场文书
大学生的网络创业计划书
2013/12/26 职场文书
运动会800米加油稿
2014/02/22 职场文书
《观舞记》教学反思
2014/04/16 职场文书
计算机专业求职信
2014/06/02 职场文书
优秀教师先进材料
2014/12/16 职场文书
工厂员工辞职信范文
2015/05/12 职场文书