[英]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.