前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >thinkphp框架无限级栏目的排序功能实现方法示例

thinkphp框架无限级栏目的排序功能实现方法示例

作者头像
砸漏
发布2020-11-03 15:49:37
4410
发布2020-11-03 15:49:37
举报
文章被收录于专栏:恩蓝脚本

本文实例讲述了thinkphp框架无限级栏目的排序功能实现方法。分享给大家供大家参考,具体如下:

题目中我们并没有说明是tp5的无限级排序还是tp3的无限级排序就是为了让小新手们明白,这些功能的实现跟你使用的框架是没有关系的,不管你是tp5还是tp3还是laravel还是yii框架都没有关系,我们强调的是思路,是解决问题的方法,演示的时候因为我在用tp3所以无所谓了。

无限级栏目的排序非常简单,这次以博文的方式分享给大家解决的思路。

上图:

上图是我们实现的无限级分类,我们要注意两个字段,id和排序sort字段,目前sort字段的值都是50,是默认值。接着为大家截图数据表结构

上图sort用来实现排序pid用来实现无限级分类

实现无限级分类的关键是我们对排序字段的写法,我们把整块代码拿到,但是用到的只有一行:

代码语言:javascript
复制
<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包裹的,因为我们要提交排序字段,所以需要表单。

我们实现无限极栏目排序的核心代码:

代码语言:javascript
复制
<input type="text" name="sort[{$cate.id}]" value="{$cate.sort}" / 

就是这一句,实际上我们是拼装了一个sort[]数组,整个数组的每个元素的键是当前栏目的id而值是当前栏目的排序的值,这样我们一旦提交数组就可以根据id修改sort了

完整代码:

代码语言:javascript
复制
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相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图数据库 KonisGraph
图数据库 KonisGraph(TencentDB for KonisGraph)是一种云端图数据库服务,基于腾讯在海量图数据上的实践经验,提供一站式海量图数据存储、管理、实时查询、计算、可视化分析能力;KonisGraph 支持属性图模型和 TinkerPop Gremlin 查询语言,能够帮助用户快速完成对图数据的建模、查询和可视化分析。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档