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 相关文章推荐
Breeze 文章管理系统 v1.0.0正式发布
Dec 14 PHP
php扩展ZF――Validate扩展
Jan 10 PHP
攻克CakePHP系列一 连接MySQL数据库
Oct 22 PHP
30 个很棒的PHP开源CMS内容管理系统小结
Oct 14 PHP
浅析PHP安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)
Jul 05 PHP
php采用ajax数据提交post与post常见方法总结
Nov 10 PHP
PHP中的switch语句的用法实例详解
Oct 21 PHP
验证坐标在某坐标区域内php代码
Oct 08 PHP
php实现的统计字数函数定义与使用示例
Jul 26 PHP
php取出数组单个值的方法
Mar 12 PHP
laravel框架select2多选插件初始化默认选中项操作示例
Feb 18 PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
Apr 13 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的无限分类实现想法~
2007/01/02 PHP
PHP中去除换行解决办法小结(PHP_EOL)
2011/11/27 PHP
基于PHP实现发微博动态代码实例
2020/12/11 PHP
PHP实现长轮询消息实时推送功能代码实例讲解
2021/02/26 PHP
jquery中通过过滤器获取表单元素的实现代码
2011/07/05 Javascript
《JavaScript高级程序设计》阅读笔记(三) ECMAScript中的引用类型
2012/02/27 Javascript
原生JS实现加入收藏夹的代码
2013/10/24 Javascript
js实现局部页面打印预览原理及示例代码
2014/07/03 Javascript
内容滑动切换效果jquery.hwSlide.js插件封装
2016/07/07 Javascript
canvas实现图像放大镜
2017/02/06 Javascript
移动端web滚动分页的实现方法
2017/05/05 Javascript
vue组件间通信子与父详解(二)
2017/11/07 Javascript
vue2.0组件之间传值、通信的多种方式(干货)
2018/02/10 Javascript
微信小程序 调用远程接口 给全局数组赋值代码实例
2019/08/13 Javascript
基于Nuxt.js项目的服务端性能优化与错误检测(容错处理)
2019/10/23 Javascript
uin-app+mockjs实现本地数据模拟
2020/08/26 Javascript
vue $mount 和 el的区别说明
2020/09/11 Javascript
[48:21]Mski vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
Python语言技巧之三元运算符使用介绍
2013/03/04 Python
Python下的twisted框架入门指引
2015/04/15 Python
numpy使用fromstring创建矩阵的实例
2018/06/15 Python
Python求一批字符串的最长公共前缀算法示例
2019/03/02 Python
Python中的四种交换数值的方法解析
2019/11/18 Python
python中with语句结合上下文管理器操作详解
2019/12/19 Python
PyTorch中的Variable变量详解
2020/01/07 Python
以SQLite和PySqlite为例来学习Python DB API
2020/02/05 Python
Jupyter打开图形界面并画出正弦函数图像实例
2020/04/24 Python
彻底搞懂python 迭代器和生成器
2020/09/07 Python
python 实现围棋游戏(纯tkinter gui)
2020/11/13 Python
eDreams意大利:南欧领先的在线旅行社
2018/11/23 全球购物
西班牙最好的在线购买葡萄酒的商店:Vinoseleccion
2019/10/30 全球购物
智能室内花园:Click & Grow
2021/01/29 全球购物
幼儿园三八妇女节活动方案
2014/03/11 职场文书
高中美术教师事迹材料
2014/08/22 职场文书
职位证明模板
2015/06/23 职场文书
呼兰河传读书笔记
2015/06/30 职场文书