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中显示格式化的用户输入
Oct 09 PHP
深入解析php之apc
May 15 PHP
PHP 异步执行方法,模拟多线程的应用分析
Jun 03 PHP
PHP zip扩展Linux下安装过程分享
May 05 PHP
ThinkPHP的L方法使用简介
Jun 18 PHP
PHP连接MYSQL数据库实例代码
Jan 20 PHP
java模拟PHP的pack和unpack类
Apr 13 PHP
thinkPHP删除前弹出确认框的简单实现方法
May 16 PHP
php 实现301重定向跳转实例代码
Jul 18 PHP
PHP简单判断手机设备的方法
Aug 23 PHP
php实现微信企业付款到个人零钱功能
Oct 09 PHP
PHP商品秒杀问题解决方案实例详解【mysql与redis】
Jul 22 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
动漫定律:眯眯眼都是怪物!这些角色狠话不多~
2020/03/03 日漫
在PHP中设置、使用、删除Cookie的解决方法
2013/05/06 PHP
php 中文字符串首字母的获取函数分享
2013/11/04 PHP
关于js和php对url编码的处理方法
2014/03/04 PHP
php模板引擎技术简单实现
2016/03/15 PHP
PHP实现基于3DES算法加密解密字符串示例
2018/08/24 PHP
张孝祥JavaScript学习阶段性总结(2)--(X)HTML学习
2007/02/03 Javascript
Cookie 注入是怎样产生的
2009/04/08 Javascript
js DOM 元素ID就是全局变量
2012/09/20 Javascript
学习JavaScript设计模式(多态)
2015/11/25 Javascript
Nodejs全局安装和本地安装的不同之处
2016/07/04 NodeJs
详解如何让InstantClick兼容MathJax、百度统计等
2017/09/12 Javascript
微信小程序之判断页面滚动方向的示例代码
2018/08/30 Javascript
layui自定义工具栏的方法
2019/09/19 Javascript
JavaScript数组排序功能简单实现
2020/05/14 Javascript
浅谈js数组splice删除某个元素爬坑
2020/10/14 Javascript
[04:49]2014DOTA2国际邀请赛 Newbee顺利挺进总决赛 ImbaTV独家专访
2014/07/19 DOTA
numpy数组拼接简单示例
2017/12/15 Python
Python编程快速上手——Excel到CSV的转换程序案例分析
2020/02/28 Python
python利用线程实现多任务
2020/09/18 Python
pytorch加载语音类自定义数据集的方法教程
2020/11/10 Python
HTML5实现多张图片上传功能
2016/03/11 HTML / CSS
AmazeUI 折叠面板的实现代码
2020/08/17 HTML / CSS
美国购买肉、鸭、家禽、鹅肝和熟食网站:D’Artagnan
2018/11/13 全球购物
英国设计师泳装、沙滩装和比基尼在线精品店:Beach Cafe
2019/08/28 全球购物
美国室内盆栽植物购买网站:Plants.com
2020/04/24 全球购物
Hammitt官网:设计师手袋
2020/05/23 全球购物
金融专业个人的自我评价
2013/10/18 职场文书
学生自我鉴定模板
2013/12/30 职场文书
劳动模范事迹材料
2014/01/19 职场文书
学生会竞选演讲稿
2014/04/24 职场文书
体育专业大学生职业生涯规划范文:打造自己的运动帝国
2014/09/12 职场文书
接待员岗位职责范本
2015/04/15 职场文书
2015年仓库管理员工作总结
2015/04/21 职场文书
2016年劳模先进事迹材料
2016/02/25 职场文书
2019年幼儿园家长接送责任书
2019/10/29 职场文书