-
無限分類:一個分類下面可以創建無限個子類。 社會體現:族譜關系,東西的分類 實現方法1:以父ID實現的無限分類 實現方法2:以全路徑實現的無限分類查看全部
-
<select> <?php cateTree2List($root); ?> </select>查看全部
-
//將構建好的樹形結構生成自己需要的東西. function cateTree2List($cate_list,$level=0,$subs_key='subs') { ksort($cate_list); uasort($cate_list,'arr_cmp'); foreach($cate_list as $cate) { if(array_key_exists($subs_key,$cate)&&count($cate[$subs_key])) { echo "<option value='".$cate['id']."'>".str_repeat(" ",2*$level)."|--{$cate['catename']}</option>"; cateTree2List($cate[$subs_key],$level+1); }else{ echo "<option value='".$cate['id']."'>".str_repeat(" ",2*$level)."|--{$cate['catename']}</option>"; } } } //根據自己的需要確定元素的排序規則. function arr_cmp($a,$b,$key = 'cateorder') { if($a[$key] == $b[$key]) return ($a['id']>$b['id'])?1:-1; return ($a[$key] > $b[$key])?-1:1; }查看全部
-
//一次查詢把所有數據拿出來,然后遍歷兩次構建樹形結構.(最好可以將構建好的$root保存在memcache之類的緩存中下次直接取) $arr = array(); foreach($cates as $cate) { $arr[$cate['id']] = $cate; } foreach($arr as $cid => &$cate) { if(array_key_exists($cate['pid'],$arr)) { $arr[$cate['pid']]['subs'][$cid] = &$cate; }else{ $root[$cid] = &$cate; } }查看全部
-
//connect. 比較新版本的PHP已經不建議用mysql_函數族了.推薦用PDO. $dsn = 'mysql:dbname=test;host=127.0.0.1'; $user = 'root'; $password = ''; $pdo = new PDO($dsn, $user, $password); $pdo->exec('set names utf8'); $sql = "select * from `deepcate`"; $rs = $pdo->query($sql); $cates = $rs->fetchAll();查看全部
-
遞歸返回值的實現查看全部
-
無限級分類實現的幾種方式查看全部
-
1.利用全路徑字段加上ID組成新字段正序排列,然后再利用字段找度來計算出層級深度。查看全部
-
感覺這樣效率不高呀……如果條目很多的話會查很多次數據庫的吧查看全部
-
返回值問題查看全部
-
筆記用查看全部
-
遞歸無限級分類數據表設計查看全部
-
無限分類的實現方法查看全部
-
無限分類的實現方法查看全部
-
...查看全部
舉報
0/150
提交
取消