簡體   English   中英

MySQL准備語句(兩個表的數據)和PHP while&for循環組合

[英]MySQL prepared statement (two tables' data) and PHP while & for loop combination

我在MySQL中有兩個表,使用mysqli准備的語句。

MySQL表:

Menu_table

menuID (PK)    - menuName
    1             Menu 1
    2             Menu 2
    3             Menu 3
    4             Menu 4

Submenu_table

 submenuID(PK) -   submenuName   - menuID
    1               submenu 1     1
    2               submenu 2     1
    3               submenu 1     4
    4               submenu 2     4 

我的死鎖是在通過While或For嵌套循環時為子菜單和菜單傳遞正確的值。

PHP代碼(使用WHILE循環,然后使用FOR循環以及組合):

<ul class="top-bar">
<?php
while($row = $stmt1->fetch()){
?>

            <li>
                <a href=""><span><?php echo($menuName);?></span></a>
                <?php 
                while($row = $stmt2->fetch()){
                    ?>
                    <ul class="sub"><li><?php echo($submenuName);?></li></ul>
                    <?php
                }
                ?>
            </li>
        <?php
}
?>
</ul>

for($i=0; $i<$stmt1->num_rows;$i++){
    //write Menu Item
    //New loop through submenu
    //how to get index of Menu as reference point for submenu for loop
}

預期結果:

<ul class="top-bar">
    <li>
        <a href=""><span>Menu 1</span></a>
        <ul class="sub"><li>Submenu 1-1</li></ul>
        <ul class="sub"><li>Submenu 1-2</li></ul>
    </li>

    <li>
        <a href=""><span>Menu 2</span></a>
    </li>

    <li>
        <a href=""><span>Menu 3</span></a>
    </li>

    <li>
        <a href=""><span>Menu 4</span></a>
        <ul class="sub"><li>Submenu 4-1</li></ul>
        <ul class="sub"><li>Submenu 4-2</li></ul>
    </li>
</ul>
<ul class="top-bar">
<?php
while($row = $stmt1->fetch()){
?>

            <li>
                <a href=""><span><?php echo($menuName);?></span></a>
                <?php 
     $sql = "select * from submenu_table where menuID = ".$row['menuID'];
$stmt2->query($sql);
                while($sub_row = $stmt2->fetch()){
                    ?>
                    <ul class="sub"><li><?php echo($sub_row['submenuname']);?></li></ul>
                    <?php
                }
                ?>
            </li>
        <?php
}
?>
</ul>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM