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 相关文章推荐
新版mysql+apache+php Linux安装指南
Oct 09 PHP
Uchome1.2 1.5 代码学习 common.php
Apr 24 PHP
Ajax+PHP边学边练 之五 图片处理
Dec 03 PHP
php性能优化分析工具XDebug 大型网站调试工具
May 22 PHP
在php中判断一个请求是ajax请求还是普通请求的方法
Jun 28 PHP
PHP与MYSQL中UTF8编码的中文排序实例
Oct 21 PHP
php获取四位字母和数字的随机数的实现方法
Jan 09 PHP
php如何连接sql server
Oct 16 PHP
php+ajax制作无刷新留言板
Oct 27 PHP
php验证码的制作思路和实现方法
Nov 12 PHP
PHP的Yii框架中移除组件所绑定的行为的方法
Mar 18 PHP
php-msf源码详解
Dec 25 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程序的多种方法介绍
2014/11/06 PHP
Symfony2安装的方法(2种方法)
2016/02/04 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
Javascript select下拉框操作常用方法
2009/11/09 Javascript
jQuery中children()方法用法实例
2015/01/07 Javascript
javascript+ajax实现产品页面加载信息
2015/07/09 Javascript
微信小程序学习(4)-系统配置app.json详解
2017/01/12 Javascript
jQuery实现在新增加的元素上添加事件方法案例分析
2017/02/09 Javascript
jQuery 判断元素整理汇总
2017/02/28 Javascript
详解用webpack2.0构建vue2.0超详细精简版
2017/04/05 Javascript
Vue自定义事件(详解)
2017/08/19 Javascript
React Native实现地址挑选器功能
2017/10/24 Javascript
js滚轮事件 js自定义滚动条的实现
2020/01/18 Javascript
python发布模块的步骤分享
2014/02/21 Python
对numpy中布尔型数组的处理方法详解
2018/04/17 Python
python3将视频流保存为本地视频文件
2018/06/20 Python
分析经典Python开发工程师面试题
2019/04/08 Python
Python3.5装饰器原理及应用实例详解
2019/04/30 Python
Django如何防止定时任务并发浅析
2019/05/14 Python
python2和python3在处理字符串上的区别详解
2019/05/29 Python
Python中的sys.stdout.write实现打印刷新功能
2020/02/21 Python
Python爬虫获取页面所有URL链接过程详解
2020/06/04 Python
在django中实现choices字段获取对应字段值
2020/07/12 Python
HTML5 Canvas玩转酷炫大波浪进度图效果实例(附demo)
2016/12/14 HTML / CSS
YSL圣罗兰美妆官方旗舰店:购买YSL口红
2018/04/16 全球购物
Nike德国官网:Nike.com (DE)
2018/11/13 全球购物
兰蔻俄罗斯官方网站:Lancome俄罗斯
2019/12/09 全球购物
办公室前台岗位职责范本
2013/12/10 职场文书
后勤工作职责
2013/12/22 职场文书
诉讼财产保全担保书
2014/05/20 职场文书
授权委托书样本及填写说明
2014/09/19 职场文书
融资合作协议书范本
2014/10/17 职场文书
领导班子整改方案
2014/10/25 职场文书
大学生见习报告范文
2014/11/03 职场文书
2014年幼儿园教师工作总结
2014/11/08 职场文书
初中历史教学反思
2016/02/19 职场文书