thinkphp中如何實現無限級分類?

2021-09-07 18:31:00 字數 943 閱讀 7981

1、資料表設計+遞迴演算法

將資料按照從父親到孩子開始排序

21public

function

sortmodule()

2627

//需求:根據乙個moduleid,獲取它自己以及他的所有父親

28public

function getallparents($id)38

}39return

array_reverse($ans

);40}41

42 }

其實感覺這樣排序後找的效果還不如直接遞迴拿自己和父親

解答:核心字段:id,pid。

解答:樹,樹的核心操作就是遞迴,所以無限分類一般都是遞迴。

解答:遞迴,因為無限分類的本質是樹,而樹的核心演算法就是遞迴,所以無限分類一般都是遞迴演算法。當然棧也可以。

解答:依次找pid為0的資料。

解答:陣列資料和pid,如果資料表裡面沒有記錄level欄位,如果需要在遞迴中求level欄位,引數可以加上level。

解答:依次找pid為0的資料,對每個pid為0的資料,遞迴找他們的所有孩子。

解答:保證陣列資料獨乙份,即使在遞迴中也保證陣列資料是全域性的,是乙份的。

解答:static $arr=array();

解答:用array_reverse(), foreach (array_reverse($sortmodules) as $key => $value)。

thinkphp實現商城後台無限級分類

1.首先肯定得建立乙個資料表 type 具體字段如下 tid 類別id tname 類別名字 pid 父類id path 這個字段可以顯示本類上面所有的父類,代表父類路徑 2.建立好錶之後,首先肯定是查詢資料庫顯示所有類別,這裡的顯示肯定是有層級關係的那種顯示,如下圖所示 怎麼才能在遍歷資料的時候顯...

thinkphp無限遞迴查詢分類

遍歷父id下所有資料 function getson parent id 0,t 1 return temp if session uid 1 if empty data return temp 看上面的while迴圈,當while迴圈完成以後,告訴我 data這個二維陣列裡面存的是什麼?當然是乙個...

ThinkPHP自動填充實現無限級分類的方法

表aoli cate如下圖所示 一 action部分 aoli home lib action cataaction.class.php檔案如下 this assign alist list this display 新增欄目 function add else dump vo else 二 模型部...