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

标签 php mysql

<分区>

我为下拉导航菜单创建了这段代码。我的数据库中有 2 个表,一个用于父项,另一个用于子项。 parent 正确地出去了,但 children 不会。

问题是,我一次只能得到一个 parent 和一个 child ,或者我什么都得不到。

提前致谢!

我的代码:

<?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>";
        }
    }
?>

最佳答案

你需要拆分你的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>标签集。

关于PHP/SQL 不会从父级获取所有子级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26889892/

相关文章:

javascript - 在没有闭包/包装函数的情况下获取范围内的变量

php - 改进查询/表 : Long "Copying to tmp table"

php - 调整页面,以便在最小化时将 css 保留在选项卡中

php - 将数据插入到不同的表中

java - 数据没有被插入到我的 SQL 表中,但它还说存在重复的主键

php - Laravel 4 使用 2 个数据库列填充下拉列表?

mysql - 从 SQL 日期时间格式中提取小时数?

mysql - 选择同时拥有狗和猫的用户

Java持久化,数据库实体和其他模型之间的通信

php pdo使用变量显示mysql查询的输出