thinkphp框架无限级栏目的排序功能实现方法示例

 更新时间:2020年03月29日 09:23:12   作者:pan_yuyuan  
这篇文章主要介绍了thinkphp框架无限级栏目的排序功能实现方法,结合实例形式分析了thinkphp无限级栏目排序相关原理、实现方法与操作注意事项,需要的朋友可以参考下

本文实例讲述了thinkphp框架无限级栏目的排序功能实现方法。分享给大家供大家参考,具体如下:

题目中我们并没有说明是tp5的无限级排序还是tp3的无限级排序就是为了让小新手们明白,这些功能的实现跟你使用的框架是没有关系的,不管你是tp5还是tp3还是laravel还是yii框架都没有关系,我们强调的是思路,是解决问题的方法,演示的时候因为我在用tp3所以无所谓了。

无限级栏目的排序非常简单,这次以博文的方式分享给大家解决的思路。

上图:

上图是我们实现的无限级分类,我们要注意两个字段,id和排序sort字段,目前sort字段的值都是50,是默认值。接着为大家截图数据表结构

上图sort用来实现排序pid用来实现无限级分类

实现无限级分类的关键是我们对排序字段的写法,我们把整块代码拿到,但是用到的只有一行:

<form method="post" action="">
<table class="table table-bordered table-hover">
<thead class="">
<tr>
<th width="6%" class="text-center">ID</th>
<th width="6%" class="text-center">pid</th>
<th width="8%" class="text-center">排序</th>
<th>栏目名称</th>
<th width="16%" class="text-center">操作</th>
</tr>
</thead>
<tbody>
<volist name="cateRes" id="cate">
<tr>
<td align="center">{$cate.id}</td>
<td align="center">{$cate.pid}</td>
<td align="center">
<input type="text" name="sort[{$cate.id}]" value="{$cate.sort}" /></td>
<td><?php echo str_repeat('-', $cate['level']*8);?>{$cate.cate_name}</td>
<td align="center">
<a href="" class=" rel="external nofollow" btn btn-primary btn-sm shiny">
<i class="fa fa-edit"></i> 编辑
</a>
<a href="#" rel="external nofollow" onClick="warning('确实要删除吗', ”)" class="btn btn-danger btn-sm shiny">
<i class="fa fa-trash-o"></i> 删除
</a>
</td>
</tr>
</volist>
<tr>
<td colspan="4">
<button type="button" tooltip="排序" style="margin-left:225px; width:50px;" class="btn btn-sm btn-azure btn-addon">排序</button>
</td>
</tr>
</tbody>
</table>
</form>

上面的代码我们可以看出整个table是用form包裹的,因为我们要提交排序字段,所以需要表单。

我们实现无限极栏目排序的核心代码:

<input type="text" name="sort[{$cate.id}]" value="{$cate.sort}" />

就是这一句,实际上我们是拼装了一个sort[]数组,整个数组的每个元素的键是当前栏目的id而值是当前栏目的排序的值,这样我们一旦提交数组就可以根据id修改sort了

完整代码:

public function lst(){
$cate=D('Cate');
if(IS_POST){//排序
$data=I('sort');
foreach ($data as $k => $v) {
$cate->where(array('id'=>$k))->save(['sort'=>$v]);
}
return;
}
$cateRes=$cate->cateTree();//无限级分类树
$this->assign([
'cateRes'=>$cateRes,
]);
$this->display('list');
}

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

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

相关文章

  • laravel框架中控制器的创建和使用方法分析

    laravel框架中控制器的创建和使用方法分析

    这篇文章主要介绍了laravel框架中控制器的创建和使用方法,结合实例形式详细分析了laravel框架控制器的原理、创建、使用方法及相关注意事项,需要的朋友可以参考下
    2019-11-11
  • 最新制作ThinkPHP3.2.3完全开发手册

    最新制作ThinkPHP3.2.3完全开发手册

    本文给大家分享的是作者花了3个多小时制作完成的ThinkPHP3.2.3完全开发手册,非常的细致全面,有需要的小伙伴可以参考下
    2015-11-11
  • Thinkphp中volist标签mod控制一定记录的换行BUG解决方法

    Thinkphp中volist标签mod控制一定记录的换行BUG解决方法

    这篇文章主要介绍了Thinkphp中volist标签mod控制一定记录的换行BUG解决方法,涉及针对标签执行语句顺序的修改,非常具有实用价值,需要的朋友可以参考下
    2014-11-11
  • 遍历指定目录,并存储目录内所有文件属性信息的php代码

    遍历指定目录,并存储目录内所有文件属性信息的php代码

    本篇文章主要介绍了PHP遍历指定目录,并存储目录内所有文件属性信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2016-10-10
  • PHP文件读取功能的应用实例

    PHP文件读取功能的应用实例

    这篇文章主要介绍了PHP文件读取功能的应用实例以及常用的文件数据读取的函数的使用方法及区别,非常的详细,有需要的小伙伴可以参考下。
    2015-05-05
  • 50个优秀经典PHP算法大集合 附源码

    50个优秀经典PHP算法大集合 附源码

    这篇文章主要介绍了50个优秀经典PHP算法大集合 附源码,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • PHP后台实现微信小程序登录

    PHP后台实现微信小程序登录

    这篇文章主要为大家详细介绍了PHP后台实现微信小程序登录,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • php 购物车完整实现代码

    php 购物车完整实现代码

    本文介绍一个php实现的购物车代码,功能实现比较完整,实现了购物车、订货人信息、会员价等功能,还是不错的,有需要的朋友,可以参考下
    2014-06-06
  • Laravel框架实现redis集群的方法分析

    Laravel框架实现redis集群的方法分析

    这篇文章主要介绍了Laravel框架实现redis集群的方法,简单分析了Laravel框架redis数据库集群功能设置步骤、相关操作技巧与注意事项,需要的朋友可以参考下
    2017-09-09
  • php floor()函数案例详解

    php floor()函数案例详解

    这篇文章主要介绍了php floor()函数案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08

最新评论