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实现像JSP,ASP里Application那样的全局变量
Jan 12 PHP
PHP 面向对象实现代码
Nov 11 PHP
PHP 采集程序中常用的函数
Dec 09 PHP
Look And Say 序列php实现代码
May 22 PHP
php 强制下载文件实现代码
Oct 28 PHP
php获取网页中图片、DIV内容的简单方法
Jun 19 PHP
PHP封装分页函数实现文本分页和数字分页
Oct 23 PHP
讲解WordPress中用于获取评论模板和搜索表单的PHP函数
Dec 28 PHP
phalcon框架使用指南
Feb 23 PHP
joomla实现注册用户添加新字段的方法
May 05 PHP
Windows下php+mysql5.7配置教程
May 16 PHP
laravel 框架实现无限级分类的方法示例
Oct 31 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/10/24 PHP
Yii2框架使用计划任务的方法
2016/05/25 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
2019/11/19 PHP
用javascript实现的图片马赛克后显示并切换加文字功能
2007/04/21 Javascript
Google Map API更新实现用户自定义标注坐标
2009/07/29 Javascript
一个用javascript写的select支持上下键、首字母筛选以及回车取值的功能
2009/09/09 Javascript
ExtJs 表单提交登陆实现代码
2010/08/19 Javascript
jQuery prev ~ siblings选择器使用介绍
2013/08/09 Javascript
jquery如何获取复选框的值
2013/12/12 Javascript
使用JS画图之点、线、面
2015/01/12 Javascript
js实现星星打分效果的方法
2020/07/05 Javascript
javascript中Function类型详解
2015/04/28 Javascript
jquery实现全选和全不选功能效果的实现代码【推荐】
2016/05/05 Javascript
JS作用域闭包、预解释和this关键字综合实例解析
2016/12/16 Javascript
详解webpack提取第三方库的正确姿势
2017/12/22 Javascript
vue.js中实现登录控制的方法示例
2018/04/23 Javascript
详解vue后台系统登录态管理
2019/04/02 Javascript
微信小程序wx.navigateTo中events属性实现页面间通信传值,数据同步
2019/07/13 Javascript
利用Python实现简单的相似图片搜索的教程
2015/04/23 Python
Python基础语言学习笔记总结(精华)
2017/11/14 Python
Python实现替换文件中指定内容的方法
2018/03/19 Python
Python基于递归算法求最小公倍数和最大公约数示例
2018/07/27 Python
python字符串循环左移
2019/03/08 Python
python日期相关操作实例小结
2019/06/24 Python
python PyAutoGUI 模拟鼠标键盘操作和截屏功能
2019/08/04 Python
python学生管理系统的实现
2020/04/05 Python
pandas中read_csv、rolling、expanding用法详解
2020/04/21 Python
车辆转让协议书
2014/04/15 职场文书
广播节目策划方案
2014/05/23 职场文书
政风行风评议心得体会
2014/10/21 职场文书
2014年项目经理工作总结
2014/11/24 职场文书
经理聘任证明
2015/03/02 职场文书
员工自我评价范文
2015/03/11 职场文书
2015年少先队活动总结
2015/03/25 职场文书
电视新闻稿
2015/07/17 职场文书
tomcat正常启动但网页却无法访问的几种解决方法
2022/05/06 Servers