无限分类小记

来源:互联网 发布:淘宝客订单怎么看 编辑:程序博客网 时间:2024/06/05 18:23

无限分类的概念

无限分类就是一个分类下面可以创建多个子类,而其子类下面亦可创建不同子类,如此往复,没有终点

递归无限分类原理

每一个分类都需要记录他的父级id,当为顶级分类时,父级id为0。这样无论那个分类,都可以通过父级id一层层的去查明他所有的父级,一遍清楚地知道他所属何种分类,层级深度为几。

require_once('db.inc.php');$db = new cls_mysql('127.0.0.1','root','root','test','utf8');function getList($pid=0,$level=-2){    static $result = array();    global $db;    $res = $db->query("select * from deepcate where pid = {$pid}");    $level += 2;    while(false !==( $row = mysql_fetch_assoc($res))){        $row['catname'] = str_repeat('&nbsp;',$level).'&nbsp;&nbsp;|--  '.$row['catname'];        $result[] = $row;        getList($row['id'],$level);    }    return $result;}function displayCate($pid=0,$id=1){    $result = getList($pid);    $selected = '';    $select = '<select name = "cate">';    foreach($result as $row){        $selected = ($id == $row['id'])?'select':'';        $select .="<option {$selected}>".$row['catname']."</option>";    }    $select .= '</select>';    return $select;}echo displayCate();

结果如下乳所示:

无限分类图解

1 0
原创粉丝点击