無限級分類使用迭代的方法時,在顯示編輯頁面的時候,需要將編輯的分類所對應的本身及其所有子分類從分類列表中清楚,該**的edit動作即完成此工作。同時還加入了css控制的顯示效果。
1. /*
2. * 迭代sql查詢,生成無限級分類樹
3. * 資料結構
4. create table `cat` (
5. `cid` int(5) unsigned not null auto_increment,
6. `cname` varchar(50) not null,
7. `lev` int(5) unsigned not null comment '分類層數',
8. `pid` int(5) unsigned not null comment '上級cid',
9. primary key (`cid`)
10. )
11. */
12. error_reporting(7);
13. mysql_connect("localhost", "hfphp", "hfphp");
14. mysql_select_db("test");
15. mysql_query("set names utf8");
16.
17. $act = $_get['act'];
18. if($act == "edit")
24. $query = "select * from cat where cid='$edited_cid'";
25. $res = mysql_query($query);
26. $edited_cat = @mysql_fetch_assoc($res);
27.
28. $okarr = array();//儲存目錄樹的陣列
29. $pid = 0;
30. getcat($pid);
31. ?>
32.63. < ?php
64. }elseif($act == "insert") elseif($row['lev'] < = $lastlev)
115. }
116. echo " class='dd".str_replace(" ", " dd", implode(" ", array_keys($classarr)))."' ";
117. $lastlev = $row['lev'];
118.
119.
120. if($row['lev'] != 1)
123. echo ">";
124.
125. //多層級的佔位符
126. for($i=1;$i< $row['lev'];$i++)
129.
130. echo $row['cname'].',lev:'.$row['lev'];
131.
132. echo " 編輯";
133.
134. echo " ";
135. echo "";
136. }
137. echo "";
138. echo "建立新分類";
139. ?>
140.
157. < ?php
158. }
159.
160. function getcat($pid)
172. }
173. }
用迭代實現無限級分類
說起那個無限級分類,相信很多人都知道是什麼東西,也曾經做過。我也相信,大家用得最多的實現方式就是做乙個遞迴。最近我也要做乙個帶無限級分類的選單,但是我又不想用遞迴來做,所以我需要用其他方式來實現,那就是迭代了。首先,我需要定義乙個實體模型,這舉乙個省市無限級的例子 class loaction pu...
PHP迭代與遞迴實現無限級分類
無限級分類是開發中常見的情況,因此本文對常見的無限極分類演算法進行總結歸納.1.迴圈迭代實現 arr 1 id 1,name 父1 father null 2 id 2,name 父2 father null 3 id 3,name 父3 father null 4 id 4,name 兒1 1 f...
PHP迭代與遞迴實現無限級分類
無限級分類是開發中常見的情況,因此本文對常見的無限極分類演算法進行總結歸納.1 arr 2 1 id 1,name 父1 father null 3 2 id 2,name 父2 father null 4 3 id 3,name 父3 father null 5 4 id 4,name 兒1 1 ...