你的这个function 设计得不怎么好
require("../include/db_con_and_sele.inc.php");
function parentshow($tempID,$db){
$sql="select ID,parentID from forum where ID='$tempID'";
$rs=mysql_query($sql,$db);
$array=mysql_fetch_array($rs);
if($array["parentID"]=="0")
return $array[ID];
else
parentshow($array["parentID"],$db);
}
$array[parentId]改为
$array["parentId"]

解决方案 »

  1.   

    把else
    parentshow($array[parentID]);改成else
    return parentshow($array[parentID]);
    看看
      

  2.   

    <?
    function parentshow($tempID){
    require("../include/db_con_and_sele.inc.php");
    $sql="select ID,parentID from forum where ID='$tempID'";
    $rs=mysql_query($sql,$db);
    $array=mysql_fetch_array($rs);
    if($array[parentID]=="0")
    return $array[ID];
    else
    parentshow($array[parentID]);//主意不要用同一函数改
             p($array[parentID])
    }
    function p($p)

    $sql="select ID,parentID from forum where ID='$p'";
    .......................
    }
    ?>
      

  3.   

    parentshow($array[parentID]);
    改为
    return parentshow($array[parentID]);每次都要与数据库交互,效率成问题
      

  4.   

    有什么不能调用呢?你看看这一段程序
    <?
    function g($a){
    if ($a==1){return a;}
    $a--;
    if ($a>0){
    return g($a);
    }
    }
    echo g(9);
    ?>
    返回为1
    如果把return g($a);前面的return去掉,就返回不了了,我说的就是在第归调用的函数名前加return就行了