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函数(ignore_user_abort)
Aug 01 PHP
PHP删除HTMl标签的实现代码
Jun 30 PHP
php计算数组相同值出现次数的代码(array_count_values)
Jan 20 PHP
php实现编辑和保存文件的方法
Jul 20 PHP
非常全面的php日期时间运算汇总
Nov 04 PHP
PHP简单判断字符串是否包含另一个字符串的方法
Mar 25 PHP
[原创]php实现子字符串位置相互对调互换的方法
Jun 02 PHP
LNMP部署laravel以及xhprof安装使用教程
Sep 14 PHP
thinkPHP框架动态配置用法实例分析
Jun 14 PHP
PHP封装XML和JSON格式数据接口操作示例
Mar 06 PHP
浅谈php调用python文件
Mar 29 PHP
浅谈laravel5.5 belongsToMany自身的正确用法
Oct 17 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数据代码
2008/06/05 PHP
PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法
2012/12/07 PHP
PHP5函数小全(分享)
2013/06/06 PHP
javascript Split方法,indexOf方法、lastIndexOf 方法和substring 方法
2009/03/21 Javascript
下载文件个别浏览器文件名乱码解决办法
2013/03/19 Javascript
JS生成随机字符串的多种方法
2014/06/10 Javascript
Html5的placeholder属性(IE兼容)实现代码
2014/08/30 Javascript
js实现按Ctrl+Enter发送效果
2014/09/18 Javascript
JS倒计时代码汇总
2014/11/25 Javascript
js字符串操作方法实例分析
2015/05/06 Javascript
JS判断是否为JSON对象及是否存在某字段的方法(推荐)
2016/11/29 Javascript
JavaScript中最常用的10种代码简写技巧总结
2017/06/28 Javascript
vue loadmore组件上拉加载更多功能示例代码
2017/07/19 Javascript
Angular+Bootstrap+Spring Boot实现分页功能实例代码
2017/07/21 Javascript
Vue.js 实现微信公众号菜单编辑器功能(二)
2018/05/08 Javascript
原生JS+HTML5实现的可调节写字板功能示例
2018/08/30 Javascript
python生成器的使用方法
2013/11/21 Python
浅谈Python中的数据类型
2015/05/05 Python
Python实现比较两个列表(list)范围
2015/06/12 Python
Python基于Pymssql模块实现连接SQL Server数据库的方法详解
2017/07/20 Python
Python建立Map写Excel表实例解析
2018/01/17 Python
python入门教程 python入门神图一张
2018/03/05 Python
Numpy掩码式数组详解
2018/04/17 Python
python 使用正则表达式按照多个空格分割字符的实例
2018/12/20 Python
python中数据库like模糊查询方式
2020/03/02 Python
基于Django OneToOneField和ForeignKey的区别详解
2020/03/30 Python
canvas实现有递增动画的环形进度条的实现方法
2019/07/10 HTML / CSS
一个精品风格的世界:Atterley
2019/05/01 全球购物
公务员培训心得体会
2013/12/28 职场文书
高中考试作弊检讨书
2014/01/14 职场文书
副科级后备干部考察材料
2014/05/15 职场文书
四风查摆剖析材料
2014/10/10 职场文书
投诉书范文
2015/07/02 职场文书
学困生转化工作总结
2015/08/13 职场文书
队名及霸气口号大全
2015/12/25 职场文书
Java虚拟机内存结构及编码实战分享
2022/04/07 Java/Android