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(2)――PHP类型
Feb 15 PHP
php 获取百度的热词数据的代码
Feb 18 PHP
php连接mssql的一些相关经验及注意事项
Feb 05 PHP
ThinkPHP调试模式与日志记录概述
Aug 22 PHP
php实现删除指定目录下相关文件的方法
Oct 20 PHP
PHP输出缓冲控制Output Control系列函数详解
Jul 02 PHP
PHP实现获取文件后缀名的几种常用方法
Aug 08 PHP
Zend Framework动作控制器用法示例
Dec 09 PHP
阿里云的WindowsServer2016上部署php+apache
Jul 17 PHP
laravel实现于语言包的完美切换方法
Sep 29 PHP
php 多继承的几种常见实现方法示例
Nov 18 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
Feb 28 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
php访问查询mysql数据的三种方法
2006/10/09 PHP
php获取当前网址url并替换参数或网址的方法
2010/06/06 PHP
php XPath对XML文件查找及修改实现代码
2011/07/27 PHP
php中使用cookie来保存用户登录信息的实现代码
2012/03/08 PHP
在Mac上编译安装PHP7的开发环境
2015/07/28 PHP
PHP实现图片上传并压缩
2015/12/22 PHP
php中字符串和整数比较的操作方法
2019/06/06 PHP
PHP实现本地图片转base64格式并上传
2020/05/29 PHP
在线游戏大家来找茬II
2006/09/30 Javascript
js变量作用域及可访问性的探讨
2006/11/23 Javascript
FF IE浏览器修改标签透明度的方法
2014/01/27 Javascript
使用iframe window的scroll方法控制iframe页面滚动
2014/03/05 Javascript
深入浅析javascript立即执行函数
2015/10/23 Javascript
关于Function中的bind()示例详解
2016/12/02 Javascript
jquery实现折叠菜单效果【推荐】
2017/03/08 Javascript
微信小程序wx.previewImage预览图片实例详解
2017/12/07 Javascript
JS实现指定区域的全屏显示功能示例
2019/04/25 Javascript
vue实现滑动切换效果(仅在手机模式下可用)
2020/06/29 Javascript
JS中封装axios来管控api的2种方式
2019/09/11 Javascript
微信小程序利用for循环解决内容变更问题
2020/03/05 Javascript
JavaScript实现公告栏上下滚动效果
2020/03/13 Javascript
JavaScript find()方法及返回数据实例
2020/04/30 Javascript
[44:58]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第二场
2018/04/06 DOTA
python基础_文件操作实现全文或单行替换的方法
2017/09/04 Python
详解python中的json和字典dict
2018/06/22 Python
pycharm 实现调试窗口恢复
2021/02/05 Python
CSS3提交意见输入框样式代码
2014/10/30 HTML / CSS
美国第二大团购网站:LivingSocial
2016/07/24 全球购物
美国男女折扣服饰百货连锁店:Stein Mart
2017/05/02 全球购物
英国最大的汽车配件在线商店:Euro Car Parts
2019/09/30 全球购物
市场部规章制度
2014/01/24 职场文书
小区物业门卫岗位职责
2014/04/10 职场文书
党员个人查摆剖析材料
2014/10/16 职场文书
幼儿园六一主持词开场白
2015/05/28 职场文书
python for循环赋值问题
2021/06/03 Python
python使用matplotlib绘制图片时x轴的刻度处理
2021/08/30 Python