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 二 模型部...