一下使我写的,帮忙看看!function getnewschild($id)//递归得到新闻的分类
{
$count=$count+2;
$sql="select * from newschoose where id='$id'";
$sql_obj=$this->dbsingleresult($sql);
$belongid=$sql_obj->belongid;
$indexid=$sql_obj->indexid;
$name=$sql_obj->name;//主题
//echo "<br>"; $sql="select * from newschoose where belongid='$id'";//所有的子内容
$sql_result=$this->dbquery($sql);
$num=mysql_num_rows($sql_result);

if ($num==0)
{
}
else
{
while($sql_obj=mysql_fetch_object($sql_result))
{
echo $name;
echo "<br>";
for ($k=0;$k<$count;$k++)
echo "&nbsp;&nbsp";
echo $sql_obj->name;
echo "<br>";

$this->getnewschild($sql_obj->id);
}
$count=$count-2;
}
}

解决方案 »

  1.   

    function getnewschild($id)//递归得到新闻的分类
    {
    $sql="select * from newschoose where id='$id'";
    $sql_obj=$this->dbsingleresult($sql);
    $belongid=$sql_obj->belongid;
    $indexid=$sql_obj->indexid;
    $name=$sql_obj->name;//主题
    //echo "<br>";

    f($id,0);}function f($id,$level) //$level ---层数,可以不要
    { $sql="select * from newschoose where belongid='$id'";//所有的子内容
    $sql_result=$this->dbquery($sql);
     //$num=mysql_num_rows($sql_result);
    while($sql_obj=mysql_fetch_object($sql_result))
    {
    echo $name;
    echo "<br>";
    for ($k=0;$k<$count;$k++)
    echo "&nbsp;&nbsp";
    echo $sql_obj->name;
    echo "<br>";

                f($sql_obj->id,$level+1)
    }
    }
      

  2.   

    根据你的贴子理论修改的,不知道对不对。
    你test一下,跟个贴吧,
      

  3.   

    这个方法和我原来那个每什么区别呀.helping........
      

  4.   

    这样,这里有点小错误!
    for ($k=0;$k<$level;$k++)
    echo "&nbsp;&nbsp";
      

  5.   

    ok了,还是csdn好,多谢了,给分了!