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.pswp.cn/news/534445.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/534445.shtml
英文地址,請注明出處:http://en.pswp.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 的一個衍生項目,曾被…