我在MySQL中有两个表,使用mysqli准备语句。
MySQL表:
Menu_table
menuID (PK) - menuName
1 Menu 1
2 Menu 2
3 Menu 3
4 Menu 4Submenu_table
submenuID(PK) - submenuName - menuID
1 submenu 1 1
2 submenu 2 1
3 submenu 1 4
4 submenu 2 4 我的死锁是在遍历时间或嵌套循环时,为子菜单和菜单传递正确的值。
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>发布于 2015-08-04 19:19:06
<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>https://stackoverflow.com/questions/31433512
复制相似问题