PHP / SQL不从父级获取所有子级

时间:2014-11-12 14:56:16

标签: php mysql

我为下拉菜单创建了此代码。我的数据库中有2个表,一个用于parentitems,另一个用于子项。父母出门正确,但是子项不会。

问题是,我一次只能得到一个父母和一个孩子,否则我什么都得不到。

提前致谢!

我的代码:

<?php
    $con=mysql_connect("localhost","root","");
    $db=mysql_select_db('navigation',$con);
    $query="select * from nav";

    $run=mysql_query($query);
    while($row=mysql_fetch_array($run)){
        $m_id=$row['m_id'];
        $m_title=$row['m_title'];
        $child_query="select * from nav_child where parent_id='$m_id'";
        $run_child=mysql_query($child_query);

        while($row_child=mysql_fetch_array($run_child)) {
           $child_id=$row_child['nav_id'];
           $child_title=$row_child['child_title'];
           echo"<ul>
                  <li><a href='menu.php'>$m_title</a>
                   <ul> 
                    <li><a href='menu.php'>$child_title</a></li>
                   </ul>
                  </li>
                </ul>";
        }
    }
?>

1 个答案:

答案 0 :(得分:1)

你需要拆分你的HTML

while(mainquery) { 
   echo '<ul>'          <-----note the location
   while (subquery) {
      echo '<li>subquery 1 stuff</li>'
   }
   echo '</ul>'         <-----note the location
}

您将在子查询部分中完全输出它,因此每个子行都会获得自己的完整<ul><li>...</li></ul>标记集。