• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

thinkphp中无限级栏目的排序实现代码

php 搞代码 3年前 (2022-01-21) 18次浏览 已收录 0个评论

本篇文章给大家带来的内容是关于thinkphp中无限级栏目的排序实现代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

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

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

上图:

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

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

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

[php]<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="btn btn-primary btn-sm shiny"><i class="fa fa-edit"></i> 编辑</a><a href="#" onClick="warning(‘确实要删除吗’, ”)" class="btn btn-dan<mark>(本文来)源gaodaimacom搞#^代%!码&网(</mark><pre>搞gaodaima代码

ger 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>[/php]

上面的代码我们可以看出整个table是用form包裹的,因为我们要提交排序字段,所以需要表单。

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

[php]<input type="text" name="sort[{$cate.id}]" value="{$cate.sort}" />[/php]

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

完整代码:

[php]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’);}[/php]

相关推荐:

TP5框架下如何用递归实现无限分级(代码示例)

thinkphp5中截取字符串的方法有哪些?(两种方法实现)

以上就是thinkphp中无限级栏目的排序实现代码的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:thinkphp中无限级栏目的排序实现代码

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址