$query="select * from smallClass,bigclass where smallClass.bigClassId=bigclass.bigClassId order by smallClassId desc";
$result=$dbConn->connection($query);
//$i=0;
//
$i=0;
while($array=mysql_fetch_array($result["rs"]))
{
$arr[]=$array;
}
循环出来的结果是:
Array
(
    [0] => Array
        (
            [0] => 6
            [smallClassId] => 6
            [1] => 成都
            [smallClassName] => 成都
            [2] => 2
            [bigClassId] => 2
            [3] => 2
            [4] => 四川
            [bigClassName] => 四川
        )    [1] => Array
        (
            [0] => 5
            [smallClassId] => 5
            [1] => 宜昌
            [smallClassName] => 宜昌
            [2] => 3
            [bigClassId] => 3
            [3] => 3
            [4] => 湖北 
            [bigClassName] =>湖北        )    [2] => Array
        (
            [0] => 4
            [smallClassId] => 4
            [1] => 武汉
            [smallClassName] => 武汉
            [2] => 3
            [bigClassId] => 3
            [3] => 3
            [4] => 湖北 
            [bigClassName] => 湖北 
        )   
)
我要的结果是:二级分类的都在一级分类下面:

解决方案 »

  1.   

    sql语句分开写,先把大类写出来,然后foreach,拿着这个大类的id去寻找小类,把小类赋给大类下面的数组
      

  2.   


    <?php
    print_r("<PRE>");
    $query="select bigClassId,bigClassName from bigclass order by smallClassId desc;";
    $result=$dbConn->connection($query); $i  = 0;
    $array = array();
    while($row  = mysql_fetch_assoc($result["rs"])){
        $array[$i] = $row;
        $query1 = "select smallClassId,smallClassName from smallClass where bigClassId = '$row{['bigClassId']}';";
        $result1= $dbConn->connection($query1);
        //如果有多个,while循环后
        $row1   = mysql_fetch_assoc($result1["rs"])
        $array[$i]['small'] = $row1;
    }unset($query, $result, $i, $row, $query1, $result1, $row1);print_r($array);foreach($array as $key=>$val){
        //这里根据上面的结构写
        /*if('small'!=$key)echo ("{$key}:{$val}<br />\n");
        else{foreach($val as $k=>$v){echo ("&nbsp;&nbsp;--{$key}:{$val}<br />\n");}}*/
    }
    ?>
      

  3.   

    上面写错了应该是【bigClassId = '{$row['bigClassId']}'】
      

  4.   

    当初就是因为二维数组的问题才从shell->php的
      

  5.   


    $query="select smallClass.smallClassId,smallClass.smallClassName,bigclass.bigClassId,bigclass.bigClassName".
    " from smallClass,bigclass where smallClass.bigClassId=bigclass.bigClassId order by smallClassId desc"; 
    $result=$dbConn->connection($query); 
    $db_result= array();
    while($row=mysql_fetch_array($result["rs"])) 

    array_push($db_result, $row);

    mysql_free_result($result);$rt_array = array();
    foreach ($db_result as $db_row){
    $rt_array[$db_row["bigClassId"]][$db_row["smallClassId"]] = array();
    $rt_array[$db_row["bigClassId"]][$db_row["smallClassId"]]["bigClassName"] = $db_row["bigClassName"];
    $rt_array[$db_row["bigClassId"]][$db_row["smallClassId"]]["smallClassName"] = $db_row["smallClassName"];
    }var_dump($rt_array);