select child where parent=2出来的childselect child where parent= child一直这样下去,可以用递归

解决方案 »

  1.   

    Use recursion, no other way.
      

  2.   

    先把所有类别取出来生成下面结构的文件
    <?php
    数组的key是childID,value是该childID对应的一条数据库记录
    $_DCACHE['categories'] = array(
    1 => array(
    'cid' => '1',    //childID
    'pid' => '0',    //parentID 0表示是父类
    )
    ?>
    然后用下面的函数调用GetAllSubclassID(2) //调用parentID为2的所有子类
    function GetAllSubclassId($cid) {
    global $_DCACHE;
    $a = array();
    foreach($_DCACHE['categories'] AS $key => $var) {
    if($cid == $var['pid']) {
    $a[] = $var['cid'];
    $tmp = GetAllSubclassId($var['cid']);
    foreach($tmp AS $tv){
    $a[]=$tv;
    }
    }
    }
    return $a;
    }