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解析html的实现代码
Aug 08 PHP
2014过年倒计时示例
Jan 31 PHP
PHP读取文件内容后清空文件示例代码
Mar 18 PHP
使用PHPMailer实现邮件发送代码分享
Oct 23 PHP
Php-Redis安装测试笔记
Mar 05 PHP
PHP中返回引用类型的方法
Apr 03 PHP
Laravel学习教程之View模块详解
Sep 18 PHP
PHP实现十进制数字与二十六进制字母串相互转换操作示例
Aug 10 PHP
PHP抽象类基本用法示例
Dec 28 PHP
Ajax+PHP实现的删除数据功能示例
Feb 12 PHP
PHP设计模式之单例模式定义与用法分析
Mar 26 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
Feb 29 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
站长助手-网站web在线管理程序 v1.0 下载
2007/05/12 PHP
php使用fsockopen函数发送post,get请求获取网页内容的方法
2014/11/15 PHP
PHP Cookei记录用户历史浏览信息的代码
2016/02/03 PHP
Laravel学习教程之model validation的使用示例
2017/10/23 PHP
PHP的mysqli_stat()函数讲解
2019/01/23 PHP
PHP 7.4 新语法之箭头函数实例详解
2019/05/09 PHP
php屏蔽错误及提示的方法
2020/05/10 PHP
nginx 设置多个站跨域
2021/03/09 Servers
用Jquery实现多级下拉框无刷新的联动
2010/12/22 Javascript
重载toString实现JS HashMap分析
2011/03/13 Javascript
详解js闭包
2014/09/02 Javascript
jQuery数据缓存用法分析
2015/02/20 Javascript
js实现交换运动效果的方法
2015/04/10 Javascript
AngularJS 最常用的功能汇总
2016/02/17 Javascript
JavaScript的React框架中的JSX语法学习入门教程
2016/03/05 Javascript
浅谈JavaScript中promise的使用
2017/01/11 Javascript
bootstrapValidator.min.js表单验证插件
2017/02/09 Javascript
在 React、Vue项目中使用SVG的方法
2018/02/09 Javascript
Mac下通过brew安装指定版本的nodejs教程
2018/05/17 NodeJs
jQuery插件Validation表单验证详解
2018/05/26 jQuery
vue.js使用v-pre与v-html输出HTML操作示例
2018/07/07 Javascript
详解JavaScript中new操作符的解析和实现
2020/09/04 Javascript
[57:16]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第二场
2014/05/26 DOTA
Python使用CMD模块更优雅的运行脚本
2015/05/11 Python
详谈Python2.6和Python3.0中对除法操作的异同
2017/04/28 Python
Python排序搜索基本算法之冒泡排序实例分析
2017/12/09 Python
Python 实现数据结构-循环队列的操作方法
2019/07/17 Python
Python使用__new__()方法为对象分配内存及返回对象的引用示例
2019/09/20 Python
Python爬虫使用浏览器cookies:browsercookie过程解析
2019/10/22 Python
Python高并发解决方案实现过程详解
2020/07/31 Python
财务科科长岗位职责
2014/03/10 职场文书
银行青年文明号事迹材料
2014/05/31 职场文书
父亲节活动策划方案
2014/08/24 职场文书
五年级上册复习计划
2015/01/19 职场文书
公司行政主管岗位职责
2015/04/09 职场文书
创业计划书之情侣餐厅
2019/09/29 职场文书