-
無(wú)限分類(lèi):一個(gè)分類(lèi)下面可以創(chuàng)建無(wú)限個(gè)子類(lèi)。 社會(huì)體現(xiàn):族譜關(guān)系,東西的分類(lèi) 實(shí)現(xiàn)方法1:以父ID實(shí)現(xiàn)的無(wú)限分類(lèi) 實(shí)現(xiàn)方法2:以全路徑實(shí)現(xiàn)的無(wú)限分類(lèi)查看全部
-
<select> <?php cateTree2List($root); ?> </select>查看全部
-
//將構(gòu)建好的樹(shù)形結(jié)構(gòu)生成自己需要的東西. 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>"; } } } //根據(jù)自己的需要確定元素的排序規(guī)則. 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; }查看全部
-
//一次查詢(xún)把所有數(shù)據(jù)拿出來(lái),然后遍歷兩次構(gòu)建樹(shù)形結(jié)構(gòu).(最好可以將構(gòu)建好的$root保存在memcache之類(lèi)的緩存中下次直接取) $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已經(jīng)不建議用mysql_函數(shù)族了.推薦用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();查看全部
-
遞歸返回值的實(shí)現(xiàn)查看全部
-
無(wú)限級(jí)分類(lèi)實(shí)現(xiàn)的幾種方式查看全部
-
1.利用全路徑字段加上ID組成新字段正序排列,然后再利用字段找度來(lái)計(jì)算出層級(jí)深度。查看全部
-
感覺(jué)這樣效率不高呀……如果條目很多的話會(huì)查很多次數(shù)據(jù)庫(kù)的吧查看全部
-
返回值問(wèn)題查看全部
-
筆記用查看全部
-
遞歸無(wú)限級(jí)分類(lèi)數(shù)據(jù)表設(shè)計(jì)查看全部
-
無(wú)限分類(lèi)的實(shí)現(xiàn)方法查看全部
-
無(wú)限分類(lèi)的實(shí)現(xiàn)方法查看全部
-
...查看全部
舉報(bào)
0/150
提交
取消