更改SQL/PHP网站菜单中的递归条件

更改SQL/PHP网站菜单中的递归条件,php,mysql,recursion,navigation,Php,Mysql,Recursion,Navigation,我正在修改一个用PHP构建的网站,内容来自SQL数据库。最初的开发人员使用以下代码创建了导航。它从CMS页面创建导航-它可以很好地用于顶级页面,但我正在尝试修改子页面的显示方式 我希望它做的是,当存在子页面时,它首先打开一个包含格式的DIV,然后使用下面的“while”语句填充子菜单。最后,当子菜单完成时,它关闭DIV 在填写子页面菜单之前,我似乎无法确定哪个条件“打开”子页面菜单 感谢所有的帮助-谢谢 <? $pagesrc = $_SERVER['SCRIPT_NAME']; $get

我正在修改一个用PHP构建的网站,内容来自SQL数据库。最初的开发人员使用以下代码创建了导航。它从CMS页面创建导航-它可以很好地用于顶级页面,但我正在尝试修改子页面的显示方式

我希望它做的是,当存在子页面时,它首先打开一个包含格式的DIV,然后使用下面的“while”语句填充子菜单。最后,当子菜单完成时,它关闭DIV

在填写子页面菜单之前,我似乎无法确定哪个条件“打开”子页面菜单

感谢所有的帮助-谢谢

<?
$pagesrc = $_SERVER['SCRIPT_NAME'];
$getPID_sql = "SELECT * FROM tblPages WHERE parentID = 0";
$getPID_result = mysql_query($getPID_sql);
if(!$getPID_result){print mysql_error()."<br />";}else{
    while ($row = mysql_fetch_array($getPID_result, MYSQL_ASSOC)) {
  $parentID = $row["pageID"];
  $linkName = $row["pageTitle"];
  $linkID = $row["pageID"];
  print "<A href = '".$pagename."?id=".$linkID."'>".$linkName."</A> | ";
  if($pageID){
    $subpages_sql = "SELECT * FROM tblPages WHERE parentID = $parentID";
    $subpages_results = mysql_query($subpages_sql);
    if(!$subpages_results){print mysql_error();}else{
        $rowcount = mysql_num_rows($subpages_results);
            if($rowcount > 0){
            while ($row2 = mysql_fetch_array($subpages_results, MYSQL_ASSOC)) {
            $sublinkName = $row2["pageTitle"];
            $sublinkID = $row2["pageID"];
            $sublinkParentID = $row2["parentID"];
            if($sublinkParentID == $pageID || $sublinkParentID == $PID){            
print "<a href='".$pagename."?id=".$sublinkID."'>".$sublinkName."</a>";
            }   
        }   
        }
    }       
    }
}
}
?>

在需要的地方添加了标记

-1,这是原始代码的副本/粘贴,但您没有提到您更改了什么,更改的原因,或者更改如何帮助解决问题。@Charles我已更改了代码,由于您需要描述,我已添加该描述以在需要的地方添加标记?什么标签?哪里需要它?为什么需要它?正如问题所问,他应该在哪里添加标签,我已经提到了。请睁开你的眼睛,检查一下好的,那它为什么会去那里?解释详细地在编辑中。复制/粘贴代码作为答案不会教任何东西。我意识到这是一个令人惊讶的基本问题和答案,但它几乎是一个最好的例子,说明如何提出一个糟糕的问题并得到一个糟糕的答案!PHP的未来版本正在弃用并删除mysql_uu函数系列。现在是进行or的好时机。另外,你真的,真的想保持缩进和大括号的使用一致。您的代码令人惊讶地难以理解,因为您误用了缩进,并且没有分隔大括号。请回顾并选择一个你最喜欢的,然后虔诚地坚持下去。我更喜欢1TB,而有些是PHP社区的。讨厌。
<?
$pagesrc = $_SERVER['SCRIPT_NAME'];
$getPID_sql = "SELECT * FROM tblPages WHERE parentID = 0";
$getPID_result = mysql_query($getPID_sql);
if(!$getPID_result){print mysql_error()."<br />";}else{
    while ($row = mysql_fetch_array($getPID_result, MYSQL_ASSOC)) {
  $parentID = $row["pageID"];
  $linkName = $row["pageTitle"];
  $linkID = $row["pageID"];
  print "<A href = '".$pagename."?id=".$linkID."'>".$linkName."</A> | ";
  if($pageID){
    $subpages_sql = "SELECT * FROM tblPages WHERE parentID = $parentID";
    $subpages_results = mysql_query($subpages_sql);
    if(!$subpages_results){print mysql_error();}else{
        $rowcount = mysql_num_rows($subpages_results);
            if($rowcount > 0){
                    echo "<div class='submenu'>"; //you can either give class or id whatever you want
            while ($row2 = mysql_fetch_array($subpages_results, MYSQL_ASSOC)) {
            $sublinkName = $row2["pageTitle"];
            $sublinkID = $row2["pageID"];
            $sublinkParentID = $row2["parentID"];
            if($sublinkParentID == $pageID || $sublinkParentID == $PID){            
print "<a href='".$pagename."?id=".$sublinkID."'>".$sublinkName."</a>";}   
        } 
            echo "</div>";  
        }
    }       
    }
}
}
?>