thinkPHP框架实现的无限回复评论功能示例

 更新时间:2018年06月09日 09:10:37   作者:徐彬  
这篇文章主要介绍了thinkPHP框架实现的无限回复评论功能,结合实例形式简单分析了thinkPHP实现无限回复的相关控制器、视图操作技巧,需要的朋友可以参考下

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

相关文章

  • PHP 文件锁与进程锁的使用示例

    PHP 文件锁与进程锁的使用示例

    本篇文章主要介绍了PHP 文件锁与进程锁的使用示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • PHP设计模式(观察者模式)

    PHP设计模式(观察者模式)

    这篇文章主要介绍了PHP设计模式(观察者模式),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • Zend Framework教程之Zend_Controller_Plugin插件用法详解

    Zend Framework教程之Zend_Controller_Plugin插件用法详解

    这篇文章主要介绍了Zend Framework教程之Zend_Controller_Plugin插件用法,结合实例形式详细分析了Zend_Controller_Plugin插件的原理,使用方法与相关注意事项,需要的朋友可以参考下
    2016-03-03
  • thinkphp3.2实现在线留言提交验证码功能

    thinkphp3.2实现在线留言提交验证码功能

    这篇文章主要为大家详细介绍了TP3.2写提交的验证码验证,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • yii2实现根据时间搜索的方法

    yii2实现根据时间搜索的方法

    这篇文章主要介绍了yii2实现根据时间搜索的方法,涉及Yii2时间的操作及数据查询相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-05-05
  • laravel解决迁移文件一次删除创建字段报错的问题

    laravel解决迁移文件一次删除创建字段报错的问题

    今天小编就为大家分享一篇laravel解决迁移文件一次删除创建字段报错的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • PHP获取真实IP及IP模拟方法解析

    PHP获取真实IP及IP模拟方法解析

    这篇文章主要介绍了PHP获取真实IP及IP模拟方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • PHP OPP机制和模式简介(抽象类、接口和契约式编程)

    PHP OPP机制和模式简介(抽象类、接口和契约式编程)

    本文将介绍抽象类、接口和一种称为契约式编程的技术。使用这些OPP机制,所编写的代码就不限于只能计算或者输出内容了。这些机制能够在概念层次上定义类之间交互作用的规则,也为应用程序的扩展和定制提供了基础。
    2014-06-06
  • php不使用插件导出excel的简单方法

    php不使用插件导出excel的简单方法

    这篇文章主要介绍了php不使用插件导出excel的简单方法,首先获取需要导出的数据的数组,数组的格式在下面。之后就是定义文件名称和需要导出的excel的样式,最后就是循环数组,输出数据了
    2014-03-03
  • Yii Framework框架中事件和行为的区别及应用实例分析

    Yii Framework框架中事件和行为的区别及应用实例分析

    这篇文章主要介绍了Yii Framework框架中事件和行为的区别及应用,结合实例形式分析了Yii Framework框架中事件和行为的相关概念、原理、区别及应用操作技巧,需要的朋友可以参考下
    2020-04-04

最新评论