先上效果圖
頂級分類其實就是一級分類,二級分類也叫作一級分類的子分類,在這個基礎上,子分類還可以擁有子分類,這樣就構成了無限極分類。
接下來看具體實現的**:
一、在控制器中按字段查詢,查詢出所有分類資訊(id:該分類的id值,cate_name:該分類的名稱,pid:父id,sorts:為顯示標題順序排序做準備,可不寫。)
pub程式設計客棧lic function cate_display()
二、模型中的**
在對應控制器的模型中建立兩個方法
1.查詢所有分類資訊,並呼叫生成分類樹方法:
public function allcategory($field='*')
2.生成分類樹(使用遞迴,傳進去資料,以及pid[父類id],level[層數,用來控制顯示的-數量]兩個變數,初始值為零)
public function tree($data,$pid=0,$level=0)
}return $tree;
}程式設計客棧
三、視**件中的**
上級選單
頂級選單
php echo str_repeat('-',$val['level']*4); ?>
這樣,乙個可以無限遞迴的分類樹形結構就完成了,總結:核心思想還是模型中的遞迴函式,先傳進去pid預設為零,程式設計客棧以後每次遞迴傳入的pid就是上級的id,level用來記錄遞迴層數,最後在檢視頁面顯示時,呼叫php內建函式str_repeat(),用來重複輸出'-『以達到輸出時區分級數的效果。
本文標題: 建立無限極分類樹型結構的簡單方法
本文位址: /wangluo/php/194100.html
分類樹,處理無限極分類
這裡沒有用遞迴查詢,而是用得另一種處理方法 思路 獲取到資料庫的所有分類,通過 根據pid,返回分類樹,方法 如下 分類樹 public static function gettree data halt items tree foreach items as id item else return...
PHP無限極分類樹
建表資料 create table limit tree id int 10 unsigned not null auto increment,pid int 10 unsigned not null default 0 name varchar 64 not null default primar...
樹的結構,無限極關聯
data 1 變成這種格式 上海 浦東 張江 青浦北京 昌平 res def get son data,level 0 parent id 0 for item in data if item parent id parent id item level level get son data,lev...