我正在尝试创建一个类似电子商务网站的三级超级菜单。我可以在Core PHP中做到这一点。反映了三级巨型菜单。让我们分一部分来更好地理解。
这是反映Core PHP中三级超级菜单的代码。
<?php
include"config/db.php";
// Parent Category
$category = $pdo->prepare("SELECT * FROM category");
$category-> execute();
?>
<ul>
<?php
while($cat = $category->fetch()){
// Sub Category
$subCat = $pdo->prepare("SELECT * FROM sub_category WHERE sc_cat=".$cat['cat_id']);
$subCat-> execute();
?>
<li>
<a href=""><?php echo $cat['cat_name']; ?></a>
<ul>
<?php while($sc = $subCat->fetch()){ ?>
<li><a href=""><?php echo $sc['sc_name']; ?></a>
<?php
// Child Category
$childCat = $pdo->prepare("SELECT * FROM child_category WHERE cc_subcat=".$sc['sc_id']);
$childCat-> execute();
?>
<ul>
<?php while($cc = $childCat->fetch()){ ?>
<li class=""><a href="category.php?cat=<?=$level2['id']; ?>"><?php echo $cc['cc_name']; ?></a></li>
<?php } ?>
</ul>
</li>
<?php } ?>
</ul>
</li>
<?php } ?>
为了聪明,我将PHP代码设置为:
// Parent Category
$category = $pdo->prepare("SELECT * FROM category");
$category-> execute();
$data = array();
while($cat = $category->fetch()){
// Category Name
$catName = $cat['cat_name'];
// Sub Category
$subCat = $pdo->prepare("SELECT * FROM sub_category WHERE sc_cat=".$cat['cat_id']);
$subCat-> execute();
while($sc = $subCat->fetch()){
// Sub Category Name
$subCatName = $sc['sc_name'];
// Child Category
$childCat = $pdo->prepare("SELECT * FROM child_category WHERE cc_subcat=".$sc['sc_id']);
$childCat-> execute();
while($cc = $childCat->fetch()){
// Child Category Name
$childCatName = $cc['cc_name'];
$data[$catName][] = array('subCatName' => $subCatName, 'childCatName' => $childCatName);
}
}
}
$smarty->assign('navCat', $data);
现在,我希望它作为一个大型菜单反映在我的.tpl
页中。我希望上面的Smarty代码中的一切都很好。如果有任何错误,请通知我。
现在这是Mega Menu模板的HTML代码。
<div class="navbar">
<div class="dropdown">
<button class="dropbtn">Parent Category 1</button>
<div class="dropdown-content">
<div class="container">
<div class="menu-cover">
<div class="row">
<div class="container">
<div class="column">
<h4>Sub Category</h4>
<a href="#">Child Category</a>
<a href="#">Child Category</a>
<a href="#">Child Category</a>
<a href="#">Child Category</a>
<a href="#">Child Category</a>
<a href="#">Child Category</a>
<a href="#">Child Category</a>
<a href="#">Child Category</a>
</div>
<div class="column">
<h4>Sub Category</h4>
<a href="#">Child Category</a>
<a href="#">Child Category</a>
<a href="#">Child Category</a>
<a href="#">Child Category</a>
</div>
<div class="column">
<h4>Sub Category</h4>
<a href="#">Child Category</a>
<a href="#">Child Category</a>
<a href="#">Child Category</a>
<a href="#">Child Category</a>
</div>
<div class="column">
<h4>Sub Category</h4>
<a href="#">Child Category</a>
<a href="#">Child Category</a>
<a href="#">Child Category</a>
<a href="#">Child Category</a>
</div>
</div>
</div>
</div>
</div>
</div>
<button class="dropbtn">Parent Category 2</button>
<div class="dropdown-content">
<div class="container">
<div class="menu-cover">
<div class="row">
<div class="container">
<div class="column">
<h4>Sub Category</h4>
<a href="#">Child Category</a>
<a href="#">Child Category</a>
<a href="#">Child Category</a>
<a href="#">Child Category</a>
<a href="#">Child Category</a>
<a href="#">Child Category</a>
<a href="#">Child Category</a>
<a href="#">Child Category</a>
</div>
<div class="column">
<h4>Sub Category</h4>
<a href="#">Child Category</a>
<a href="#">Child Category</a>
<a href="#">Child Category</a>
<a href="#">Child Category</a>
</div>
<div class="column">
<h4>Sub Category</h4>
<a href="#">Child Category</a>
<a href="#">Child Category</a>
<a href="#">Child Category</a>
<a href="#">Child Category</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
如何在Smarty中使用foreach和section循环在PHP中反映PHP while循环代码,以使mega菜单从数据库中出现?我是新手,遇到麻烦了。