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作为Shell脚本语言使用
Oct 09 PHP
我的论坛源代码(十)
Oct 09 PHP
用PHP的ob_start();控制您的浏览器cache!
Feb 14 PHP
PHP字符串的递增和递减示例介绍
Feb 11 PHP
phpcms手机内容页面添加上一篇和下一篇
Jun 05 PHP
编写PHP脚本来实现WordPress中评论分页的功能
Dec 10 PHP
Laravel 5.3 学习笔记之 安装
Aug 28 PHP
thinkphp 验证码 的使用小结
May 07 PHP
PHP简单实现模拟登陆功能示例
Sep 15 PHP
thinkphp5.1 文件引入路径问题及注意事项
Jun 13 PHP
ThinkPHP5+Layui实现图片上传加预览功能
Aug 17 PHP
php实例化对象的实例方法
Nov 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实现多城市切换特效
2015/08/09 PHP
thinkPHP中create方法与令牌验证实例浅析
2015/12/08 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
在PHP中输出JS语句以及乱码问题的解决方案
2019/02/13 PHP
PHP unset函数原理及使用方法解析
2020/08/14 PHP
JQuery中SetTimeOut传参问题探讨
2013/05/10 Javascript
javascript和HTML5利用canvas构建猜牌游戏实现算法
2013/07/17 Javascript
Javascript中的回调函数和匿名函数的回调示例介绍
2014/05/12 Javascript
JS判断客服QQ号在线还是离线状态的方法
2015/01/13 Javascript
Javascript基础教程之比较操作符
2015/01/18 Javascript
jQuery插件开发的五种形态小结
2015/03/04 Javascript
JS实现左右拖动改变内容显示区域大小的方法
2015/10/13 Javascript
使用JQuery实现图片轮播效果的实例(推荐)
2017/10/24 jQuery
微信小程序 点击切换样式scroll-view实现代码实例
2019/10/11 Javascript
基于JavaScript实现表格隔行换色
2020/05/08 Javascript
[00:59]PWL开团时刻DAY7——我在赶
2020/11/06 DOTA
[54:18]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS BO3 第一场 1月22日
2021/03/11 DOTA
python简易远程控制单线程版
2018/06/20 Python
pytorch 实现查看网络中的参数
2020/01/06 Python
Python如何获取Win7,Win10系统缩放大小
2020/01/10 Python
Python图像处理库PIL的ImageFont模块使用介绍
2020/02/26 Python
解决python3插入mysql时内容带有引号的问题
2020/03/02 Python
Python如何使用队列方式实现多线程爬虫
2020/05/12 Python
MATLAB数学建模之画图汇总
2020/07/16 Python
如何利用python读取micaps文件详解
2020/10/18 Python
CSS3地图动态实例代码(圆圈向外扩散)
2018/06/15 HTML / CSS
Java多态性的定义以及类型
2014/09/16 面试题
安全教育月活动总结
2014/05/05 职场文书
司法局群众路线教育实践活动整改措施思想汇报
2014/10/13 职场文书
群众路线教育实践活动学习笔记
2014/11/05 职场文书
开会通知
2015/04/20 职场文书
2015年行风建设工作总结
2015/05/15 职场文书
国王的演讲观后感
2015/06/03 职场文书
人间正道是沧桑观后感
2015/06/15 职场文书
《草船借箭》教学反思
2016/02/23 职场文书
python实现简单的名片管理系统
2021/04/26 Python