php 递归栏目名叠加,thinkPHP实现递归循环栏目并按照树形结构无限极输出的方法,thinkphp递归...

thinkPHP实现递归循环栏目并按照树形结构无限极输出的方法,thinkphp递归

本文实例讲述了thinkPHP实现递归循环栏目并按照树形结构无限极输出的方法。分享给大家供大家参考,具体如下:

这里使用thinkphp递归循环栏目按照树形结构无限极输出,并保存为一个数组,利于模板调用

具体代码如下:

private function categoryTree($parentid,$level)

//因为是本类中使用所以定于为私有函数

{

$Category= D('Category');

$result = $Category->where("`parentid`=".$parentid)->order("listorder desc,catid desc")->select();

if($result)

{

$count=count($result);//当前子栏目个数

$level++;//子栏目层级

foreach($result as $v)

{

$index++;

if($count==$index) $step="└─";

else $step="├─";

$step.=str_repeat(' ',$level-1);

$nbsp=str_repeat(' ',$level-1);

$nstr=$nbsp.$step;

if($parentid==0) $nstr='';

$v['step']=$nstr;

$newData[$v['catid']]=$v;

//echo $nstr.$v['catname']."

";

if($v['child']==1)//如果有子栏目

{

$newData=$newData+$this->categoryTree($v['catid'],$level);

}

}

}

return $newData;

}

php递归栏目保存为数组

PS:本文代码没有进行格式化美化处理,这里推荐几款本站的格式化美化工具,相信大家在以后的开发中能够用得上:

php代码在线格式化美化工具:http://tools.jb51.net/code/phpformat

JavaScript代码美化/压缩/格式化/加密工具:http://tools.jb51.net/code/jscompress

在线XML格式化/压缩工具:http://tools.jb51.net/code/xmlformat

sql代码在线格式化美化工具:http://tools.jb51.net/code/sqlcodeformat

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《smarty模板入门基础教程》及《PHP模板技术总结》。

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

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/534445.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php cannot call constructor,安装ECshop普遍问题的解决方法

安装时的问题:1.Strict Standards: Non-static method cls_image::gd_version() should not be called statically in /usr/local/httpd2/htdocs/upload/install/includes/lib_installer.php on line 31解决:找到install/includes/lib_installer.php中的…

wind试用版 matlab,免费产品试用 - MATLAB Simulink

请选择其一AlabamaAlaska美属萨摩亚APO/FPO AAAPO/FPO AEAPO/FPO APArizonaArkansasCaliforniaCaroline IslandsColoradoConnecticutDelawareDistrict of ColumbiaFlorida格鲁吉亚关岛HawaiiIdahoIllinoisIndianaIowaKansasKentuckyLouisianaMaineMariana Islands马绍尔群岛Mar…

php yii2 sns,GitHub - yggphpcoder/iisns: 基于 yii2 的 sns 社区系统,一站式解决社区建站...

iisns - 地球村入口iiSNS 是基于 yii2 的 SNS 社区系统,一站式解决社区建站。可以写文章,做记录,上传图片,论坛聊天等。还可以用来做内容管理系统(CMS)。iiSNS 是一个免费的开源项目,在 MIT 许可证下授权发布。特点与功…

php mvc 商城,基于MVC框架的小型网上商城设计

2.本人对课题任务书提出的任务要求及实现预期目标的可行性分析基于MVC框架的小型网上商城实现的功能:商品的浏览、查询、购买,会员注册以及会员订单的查询等,方便商场活动,该系统基本实现了网上商城的应有功能。该系统…

php 做更新进度条,PHP exec()后更新Bootstrap进度条

我使用PHP来运行一个python脚本,并且在脚本执行后需要更新一个进度条。进度条更新后,将执行另一个脚本,依此类推。这里是我的代码如此的票价。我试图用JavaScript来实现。它没有解决Button Textif (isset($_POST[turn])){exec("sudo pyt…

zblog php和asp功能,ZBlog是否适合PHP或ASP?我们该如何选择?

我最近玩了zblog一段时间,对于大多数第一次联系zblog的博客,他们会问zblog是否适合PHP或ASP?我们该如何选择?事实上,我真的不明白这个问题。我个人更喜欢PHP。今天我将整理出来并对PHP版本和ASP版本进行比较&#xff0…

php js记住密码功能,jquery.cookie.js实现用户登录保存密码功能的方法_jquery

本文实例讲述了jquery.cookie.js实现用户登录保存密码功能的方法。分享给大家供大家参考,具体如下:需要导入的js有jquery.js和jquery.cookie.js在页面加载时首先尝试获取cookie的值,如果cookie有值,则将获取到的值填入输入框中&am…

oracle dbf 超大,oracle 数据库users01.dbf文件过大 转移方法

如果出现 linux 拒绝错误,可以把目录权限 该为777由于在安装的时候将Oracle安装到了C盘,表空间也创建到了C盘(当时没有在意),等项目进行到了中期,发现C盘的空间不够用了。此时,一个较好的解决办法就是将表空间的文件转…

oracle中exists连接两个表,IN、EXISTS、多表连接,哪个速度更快

本帖最后由 ghsau 于 2011-10-11 23:39 编辑请看下面三个执行计划(Oracle10g)1. 用INSQL> select ename from emp e where e.deptno in (select d.deptno from dept d where d.dnameSALES);PLAN_TABLE_OUTPUT------------------------------------------------------------…

php决策管理,报表管理与数据分析:为系统未来发展规划提供决策依据,有效避免IT管理与投资的盲目??...

据了解,很多中大型企事业单位的IT基础结构具有复杂、分散等特征,并且信息化程度越高,数据类型越繁杂,数据量也越庞大。许多单位不得不付出极大的人力、物力对网络进行管理。而一个单位的信息化的程度和IT部门的服务水平&#xff0…

oracle迁移undo表空间,oracle切换undo表空间

Oracle里的回滚表空间在数据库使用一段时间后,undo表空间的dbf文件往往会增长到比较大,这个时候我们需要切换undo表空间1.新建undo表空间SQL> create undo tablespace undotbs2 datafile /data/undotbs02.dbf size 10M autoextend on next 10M ;2.由于…

pppoe linux 配置文件,linux PPPOE服务端配置

查看pppo服务器安装包pm -qa | grep pppoe 可以看到系统中pppoe server安装包rpm -ql rp-pppoe-3.5-2 查看该安装包安装信息(如安装路径,配置文件等),如果有信息输出,你可以看到这一行:/sbin/pppoe-serverps -e | grep pppoe-serve 查看pppoe服务有没有运行,如果没有,则启动: p…

设置linux拨号服务端,CentOS Linux上搭建PPPoE服务器及拨号设置

CentOS下PPPoE拨号设置1.查看并安装拨号软件:[rootRedHat ~]# rpm -qa|grep pppoe[rootredhat ~]# yum -y install rp-pppoerp-pppoe.i686 0:3.10-8.el62.查看adsl-setup命令所在位置:[rootredhat ~]#whereis adsl-setupadsl-setup:或者直接搜索pppoe信息…

Linux原始网络编程,Linux操作系统网络编程 原始套接字 (1)

Linux操作系统网络编程--原始套接字 (1)http://soft.zdnet.com.cn/software_zone/2007/1020/568223.shtml我们在前面已经学习过了网络程序的两种套接字(SOCK_STREAM,SOCK_DRAGM).在这一章 里面我们一起来学习另外一种套接字--原始套接字(SOCK_RAW)。应用原始套接字,我们可以编写…

linux上pyenv卸载,在Ubuntu 18.04系统下安装pyenv的方法

本文介绍在Ubuntu 18.04操作系统下安装pyenv的方法,使用它可以进行Python多版本管理,目的是防止不同的Python版本因为不兼容而出现错误。安装pyenv其实非常的简单,只需要在系统终端中运行一条命令即可,以下是操作方法,…

linux防火墙作用是什么,Linux防火墙操作1

什么是防火墙防火墙可通过监测、限制、更改跨越防火墙的数据流,尽可能地对外部屏蔽网络内部的信息、结构和运行状况,以此来实现网络的安全保护。简单来讲 就是防止外界通过网络攻击Linux服务器的一个软件本次学习目标:防火墙的启停&#xff0…

linux中touch命令的作用,Linux中touch命令的作用是什么

今天微子网络向你展示了触摸命令在Linux中的功能。内容简洁易懂,一定会让你眼前一亮。希望通过这篇文章的详细介绍,你能有所收获。linux的Touch命令不常用,但在使用make时可能会用到,make用于修改文件时间戳或创建一个不存在的新文…

linux打jar包xml文件,springboot打jar包部署外置配置文件

一、读取配置文件的优先级默认:Jar包同级目录的config目录Jar包同级目录classPath(即resources目录)的config目录classpath目录最高优先级的方式是项目启动时通过命令的方式指定项目加载核心配置文件,命令如下java –jar xxxx.jar -Dspring.config.locat…

linux将视频导入到iphone,如何将 IPhone 的文件导入 Linux

如何将 IPhone 的文件导入 Linux完全免费方案。方法一: 使用 Koder 的 Local File Access 功能这方法不需要在 Linux 端做任何配置。IPhone 端安装 koder进入应用 Koder点击右下角的 Settings进入 Local File Access选择 Enable Local File Access你可以看到一个链接…

lede 自定义linux,OpenWrt 和 LEDE 宣布正式合并

OpenWrt 和 LEDE 项目已在官网正式宣布合并,合并后的项目仍用 OpenWRT 命名。合并后的 OpenWrt 项目将按照 LEDE 制定的规范进行管理。原有的 LEDE 和 OpenWrt 项目的活跃成员将继续在合并后的 OpenWrt 上工作。LEDE 项目是 OpenWrt 的一个衍生项目,曾被…