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


Posted in PHP onMarch 29, 2020

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

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

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

上图:

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

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

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

上图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框架的PHP程序设计有所帮助。

PHP 相关文章推荐
谈谈新手如何学习PHP
Dec 14 PHP
采用PHP函数memory_get_usage获取PHP内存清耗量的方法
Dec 06 PHP
php获取ip的三个属性区别介绍(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
Sep 23 PHP
php将图片保存入mysql数据库失败的解决方法
Dec 27 PHP
PHP二维数组排序简单实现方法
Feb 14 PHP
PHP5.5.15+Apache2.4.10+MySQL5.6.20配置方法分享
May 06 PHP
php 如何获取文件的后缀名
Jun 05 PHP
Adnroid 微信内置浏览器清除缓存
Jul 11 PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
Sep 14 PHP
探究Laravel使用env函数读取环境变量为null的问题
Dec 06 PHP
php通过各种函数判断0和空
Jul 04 PHP
Laravel源码解析之路由的使用和示例详解
Sep 27 PHP
php查看一个变量的占用内存的实例代码
Mar 29 #PHP
tp5框架前台无限极导航菜单类实现方法分析
Mar 29 #PHP
PHP中类与对象功能、用法实例解读
Mar 27 #PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
Mar 27 #PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
Mar 27 #PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
Mar 26 #PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
Mar 26 #PHP
You might like
Yii2.0高级框架数据库增删改查的一些操作
2015/11/16 PHP
Laravel框架定时任务2种实现方式示例
2018/12/08 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
JQuery 构建客户/服务分离的链接模型中Table中的排序分析
2010/01/22 Javascript
validator验证控件使用代码
2010/11/23 Javascript
THREE.JS入门教程(2)着色器-上
2013/01/24 Javascript
js将控件隐藏的方法及display属性介绍
2013/07/04 Javascript
使用CSS和jQuery模拟select并附提交后取得数据的代码
2013/10/18 Javascript
jQuery.event兼容各浏览器的event详细解析
2013/12/18 Javascript
浅析Node在构建超媒体API中的作用
2014/07/30 Javascript
jquery+ajax验证不通过也提交表单问题处理
2014/12/12 Javascript
jQuery实现的分子运动小球碰撞效果
2016/01/27 Javascript
JSON对象 详解及实例代码
2016/10/18 Javascript
Bootstrap风格的WPF样式
2016/12/07 Javascript
vue实现动态数据绑定
2017/04/28 Javascript
Angular5中调用第三方js插件的方法
2018/02/26 Javascript
vue-自定义组件传值的实例讲解
2018/09/18 Javascript
微信小程序webview 脚手架使用详解
2019/07/22 Javascript
javascript严格模式详解(含严格模式与非严格模式的区别)
2019/11/12 Javascript
JavaScript 自定义html元素鼠标右键菜单功能
2019/12/02 Javascript
vue-openlayers实现地图坐标弹框效果
2020/09/24 Javascript
Python远程开发环境部署与调试过程图解
2019/12/09 Python
matplotlib 画动态图以及plt.ion()和plt.ioff()的使用详解
2021/01/05 Python
CSS3 background-image颜色渐变的实现代码
2018/09/13 HTML / CSS
Canvas实现保存图片到本地的示例代码
2018/06/28 HTML / CSS
美国花园雕像和家居装饰网上商店:Design Toscano
2019/03/09 全球购物
泰国健康和美容服务预订网站:GoWabi
2019/06/03 全球购物
银行介绍信范文
2014/01/10 职场文书
50岁生日感言
2014/01/23 职场文书
餐厅销售主管职责范本
2014/02/19 职场文书
社区居务公开实施方案
2014/03/27 职场文书
竞选大队长演讲稿
2014/04/29 职场文书
大学三年计划书范文
2014/04/30 职场文书
党员干部反四风对照检查材料思想汇报
2014/09/14 职场文书
2016年情人节广告语
2016/01/28 职场文书
vscode内网访问服务器的方法
2022/06/28 Servers