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.ini 中文版
Oct 28 PHP
从网上搜到的phpwind 0day的代码
Dec 07 PHP
如何使用Strace调试工具
Jun 03 PHP
PHP 5.5 创建和验证哈希最简单的方法详解
Nov 07 PHP
Codeigniter注册登录代码示例
Jun 12 PHP
memcache一致性hash的php实现方法
Mar 05 PHP
php 类中的常量、静态属性、非静态属性的区别
Apr 09 PHP
ThinkPHP3.1.x修改成功与失败跳转页面的方法
Sep 29 PHP
PHP strripos函数用法总结
Feb 11 PHP
thinkPHP5.1框架使用SemanticUI实现分页功能示例
Aug 03 PHP
laravel框架创建授权策略实例分析
Nov 22 PHP
PHP实现新型冠状病毒疫情实时图的实例
Feb 04 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转换文件夹下所有文件编码的实现代码
2013/06/06 PHP
PHP判断网络文件是否存在的方法
2015/03/12 PHP
php自定义类fsocket模拟post或get请求的方法
2015/07/31 PHP
利用php生成验证码
2017/02/23 PHP
Laravel框架表单验证操作实例分析
2019/09/30 PHP
选择TreeView控件的树状数据节点的JS方法(jquery)
2010/02/06 Javascript
JQuery Ajax通过Handler访问外部XML数据的代码
2010/06/01 Javascript
javascript 模拟坦克大战游戏(html5版)附源码下载
2014/04/08 Javascript
让JavaScript的Alert弹出框失效的方法禁止弹出警告框
2014/09/03 Javascript
Javascript技术栈中的四种依赖注入详解
2016/02/23 Javascript
基于JS实现密码框(password)中显示文字提示功能代码
2016/05/27 Javascript
全面解析Bootstrap中tooltip、popover的使用方法
2016/06/13 Javascript
vue2.0 自定义组件的方法(vue组件的封装)
2018/06/05 Javascript
vue+element实现表格新增、编辑、删除功能
2019/05/28 Javascript
javascript canvas时钟模拟器
2020/07/13 Javascript
基于NodeJS开发钉钉回调接口实现AES-CBC加解密
2020/08/20 NodeJs
在Django的模型和公用函数中使用惰性翻译对象
2015/07/27 Python
详谈pandas中agg函数和apply函数的区别
2018/04/20 Python
python特性语法之遍历、公共方法、引用
2018/08/08 Python
深入了解Python iter() 方法的用法
2019/07/11 Python
Django ORM 查询管理器源码解析
2019/08/05 Python
Python3将数据保存为txt文件的方法
2019/09/12 Python
python 实现多线程下载m3u8格式视频并使用fmmpeg合并
2019/11/15 Python
Python参数传递及收集机制原理解析
2020/06/05 Python
Python hashlib和hmac模块使用方法解析
2020/12/08 Python
Canvas图片分割效果的实现
2019/07/29 HTML / CSS
Interflora澳大利亚:同日鲜花速递
2019/06/25 全球购物
Wedgwood英国官方网站:英式精致骨瓷餐具、礼品与生活精品,源于1759年
2019/09/02 全球购物
美国小蜜蜂Burt’s Bees德国官网:天然唇部、皮肤和身体护理产品
2020/06/14 全球购物
万代美国官网:PREMIUM BANDAI USA
2020/09/11 全球购物
班组长安全生产职责
2013/12/16 职场文书
学习焦裕禄同志为人民服务思想汇报
2014/09/10 职场文书
质检员岗位职责范本
2015/04/07 职场文书
新年晚会主持词开场白
2015/05/28 职场文书
党员廉政准则心得体会
2016/01/20 职场文书
2016七夕情人节广告语
2016/01/28 职场文书