我有一个数据库,其中有两个表用于主菜单项和子菜单项。我试图用我制作的 Bootstrap 主题实现一个动态菜单,但我似乎不明白如何将 PHP 与 HTML 合并。每个教程都讨论数组,但这对于 Bootstrap 主题的(代码)重量来说似乎并不合理。如果有人能指出我正确的方向,我希望能够做到这一点,但我需要克服的第一个障碍是主菜单未显示我发布的代码。任何帮助将不胜感激,提前谢谢您。
catch(PDOException $e) {
echo $e->getMessage();
}
$sql = "SELECT * FROM menu ORDER BY id";
$stmt = $pdo->prepare($sql);
$stmt->execute();
?>
<ul>
<?php
while ($row = $sth->fetch(PDO::FETCH_OBJ)){
$sub_sql = "SELECT * FROM sub_menu WHERE sub_parent_id=:id";
$sub_stmt = $pdo->prepare($sub_sql);
$sub_stmt->bindParam(':id', $row->id, PDO::PARAM_INT);
$sub_stmt->execute();
?>
<li><a href="<?php echo $row->menu_name; ?>"></a>
<?php
if($sub_stmt->rowCount()){
?>
<ul>
<?php
while ($sub_row = $sub_stmt->fetch(PDO::FETCH_OBJ)){
?>
<li><a href="<?php echo $sub_row->href; ?>">
<?php echo $sub_row->sub_name; ?>"
</a></li>
<?php
}
?>
</ul>
<?php
}
?>
<?php
}
?>
</li>
</ul>
最佳答案
试试这个:
<?php
catch(PDOException $e) {
echo $e->getMessage();
}
$sql = "SELECT * FROM menu ORDER BY id";
$stmt = $pdo->prepare($sql);
$stmt->execute();
?>
<ul>
<?php
while ($row = $sth->fetch(PDO::FETCH_OBJ)){
$sub_sql = "SELECT * FROM sub_menu WHERE sub_parent_id=:id";
$sub_stmt = $pdo->prepare($sub_sql);
$sub_stmt->bindParam(':id', $row->id, PDO::PARAM_INT);
$sub_stmt->execute();
?>
<li><a href="<?php echo $row->menu_name; ?>"></a>
<?php
if($sub_stmt->rowCount()){
?>
<ul>
<?php
while ($sub_row = $sub_stmt->fetch(PDO::FETCH_OBJ)){
?>
<li><a href="<?php echo $sub_row->href; ?>">
<?php echo $sub_row->sub_name; ?>"
</a></li>
<?php
}
?>
</ul>
<?php
}
?>
</li>
<?php
}
?>
</ul>
关于php - 带 pdo 和 mysql 的动态多级 Bootstrap 菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35176932/