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中路径问题的解决方案
Oct 09 PHP
PHP分页显示制作详细讲解
Nov 19 PHP
快速开发一个PHP扩展图文教程
Dec 12 PHP
php实现多维数组中每个单元值(数字)翻倍的方法
Feb 16 PHP
使用新浪微博API的OAuth认证发布微博实例
Mar 27 PHP
学习php设计模式 php实现享元模式(flyweight)
Dec 07 PHP
程序员的表白神器“520”大声喊出来
May 20 PHP
php事件驱动化设计详解
Nov 10 PHP
PHP封装的简单连接MongoDB类示例
Feb 13 PHP
PHP简单验证码功能机制实例详解
Mar 27 PHP
laravel框架 api自定义全局异常处理方法
Oct 11 PHP
Laravel6.18.19如何优雅的切换发件账户
Jun 14 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
绿山咖啡和蓝山咖啡
2021/03/04 新手入门
PHP 数组入门教程小结
2009/05/20 PHP
phpinfo 系统查看参数函数代码
2009/06/05 PHP
有关PHP中MVC的开发经验分享
2012/05/17 PHP
PHP 伪静态技术原理以及突破原理实现介绍
2013/07/12 PHP
Codeigniter出现错误提示Error with CACHE directory的解决方案
2014/06/12 PHP
再推荐十款免费的php开发工具
2015/11/09 PHP
Javascript中的delete介绍
2012/09/02 Javascript
javascript和HTML5利用canvas构建猜牌游戏实现算法
2013/07/17 Javascript
JS遍历数组和对象的区别及递归遍历对象、数组、属性的方法详解
2016/06/14 Javascript
第五篇Bootstrap 排版
2016/06/21 Javascript
JavaScript中匿名函数的递归调用
2017/01/22 Javascript
原生JS实现ajax与ajax的跨域请求实例
2017/12/01 Javascript
React数据传递之组件内部通信的方法
2017/12/31 Javascript
JavaScript运行原理分析
2018/02/09 Javascript
Vue中$refs的用法详解
2018/06/24 Javascript
layui实现文件或图片上传记录
2018/08/28 Javascript
JavaScript链式调用实例浅析
2018/12/19 Javascript
详解react组件通讯方式(多种)
2020/05/06 Javascript
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
2020/05/19 jQuery
vue集成一个支持图片缩放拖拽的富文本编辑器
2021/01/29 Vue.js
Python程序中用csv模块来操作csv文件的基本使用教程
2016/03/03 Python
Python深入06——python的内存管理详解
2016/12/07 Python
如何高效使用Python字典的方法详解
2017/08/31 Python
Python WEB应用部署的实现方法
2019/01/02 Python
pyqt5对用qt designer设计的窗体实现弹出子窗口的示例
2019/06/19 Python
解析python实现Lasso回归
2019/09/11 Python
Python爬虫如何应对Cloudflare邮箱加密
2020/06/24 Python
如何使用Django Admin管理后台导入CSV
2020/11/06 Python
Pytorch - TORCH.NN.INIT 参数初始化的操作
2021/02/27 Python
美国婚礼礼品网站:MyWeddingFavors
2018/09/26 全球购物
事业单位竞聘上岗实施方案
2014/03/28 职场文书
公证处委托书
2015/01/28 职场文书
2015年底工作总结范文
2015/05/15 职场文书
2016年万圣节家长开放日活动总结
2016/04/05 职场文书
干货:我将这样书写我的演讲稿!
2019/05/09 职场文书