循环列出所有一级栏目、二级栏目和三级栏目

<?php

$sql=$empire->query('select classid,bclassid,classname,classpath,wburl,islast from '.$dbtbpre.'enewsclass  order by myorder, classid asc ');
for($i=1;$cr=$empire->fetch($sql);$i++)
{
    $r[$i]=$cr;//select出的数据储存到数组
}

for($i=1;$r[$i];$i++)
{
    if($r[$i][bclassid]==0)//选出一级栏目
    {
        echo '<div class="box" ><h1><a href="'
        .($r[$i][classpath]==''?$r[$i][wburl]:'/'.$r[$i][classpath]).'/">'.$r[$i][classname].'</a></h1>';
        
        if($r[$i][islast]==0&&$r[$i][wburl]=='')//选出非终极栏目
        {
            
            echo "<ul>";
            for($j=1;$r[$j];$j++)//循环数组一次
                if($r[$j][bclassid]==$r[$i][classid] && $r[$j][islast]!=0)//选出二级栏目
                {
                    echo '<li ><a href="'
                    .($r[$j][classpath]==''?$r[$j][wburl]:'/'.$r[$j][classpath]).'/">'.$r[$j][classname].'</a></li>';
                
                }else{
                    if($r[$j][bclassid]==$r[$i][classid])//选出三级栏目
                    {
                        echo "<br>";
                        echo '<li id="lm2"><a href="'
                            .($r[$j][classpath]==''?$r[$j][wburl]:'/'.$r[$j][classpath]).'/">'.$r[$j][classname].':</a></li>';
                        
                      
                        for($k=1;$r[$k];$k++)//循环数组一次
                            if($r[$k][bclassid]==$r[$j][classid])
                                echo '<li><a href="'
                                .($r[$k][classpath]==''?$r[$k][wburl]:'/'.$r[$k][classpath]).'/">'.$r[$k][classname].'</a></li>';
                    
                    }
                }
                
                echo "</ul>";
            
        }
        echo '</div>';
    }
}
?>