-
无限分类:一个分类下面可以创建无限个子类。 社会体现:族谱关系,东西的分类 实现方法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
提交
取消