这是我的菜单
<ul class="sub-menu">
<li><a href="product-category.html">Product 1</a></li>
<li><a href="product-category.html">Product 2</a>
<ul class="sub-menu">
<li><a href="product-category.html">P 21</a></li>
<li><a href="product-category.html">P 22</a></li>
<li><a href="product-category.html">P 23</a></li>
<li><a href="product-category.html">P 24</a></li>
</ul>
</li>
<li><a href="product-category.html">Product 3</a></li>
<li><a href="product-category.html">Product 4</a></li>
</ul>
Product1,Product2,Product3是类别表中的类别。
P 21,P 22,P 23,P 24是子类别中产品2的子类别。
所有类别都没有子类别。
类别ID保存在子类别表中。
如果不存在则创建表
category
(cid
int(11)NOT NULL AUTO_INCREMENT,cname
varchar(255)NOT NULL,主键(
cid
))ENGINE = InnoDB DEFAULT CHARSET = latin1 AUTO_INCREMENT = 1;
如果不存在则创建表
subcategory
(sid
int(11)NOT NULL AUTO_INCREMENT,sname
varchar(255)NOT NULL,cid
int(11)非空,主键(
sid
))ENGINE = InnoDB DEFAULT CHARSET = latin1 AUTO_INCREMENT = 1;
如何通过单查询从MySql提取数据来在菜单中显示它?
最佳答案
请向我展示数据库的体系结构。通常需要2个周期的条件,第一个是类别,第二个是子类别。
file.php
<ul class="sub-menu">
<?php
foreach($array_category as $category):?>
<li><a href="<?php echo $category['link'];?>"><?php echo $category['name'];?></a>
<?php if( $exist_subcategory):?>
<ul>
<?php foreach($array_subcategory as $subcategory):?>
<li><a href="<?php echo $subcategory['link'];?>"><?php echo $subcategory['name'];?></a>
<?php endforeach;?>
</ul>
<?php endif;?>
</li>
<?php endforeach;?>
</ul>
唯一的问题是对数据库架构输入正确的条件需要知道的条件。
关于php - 如何从数据库及其子类别中获取菜单,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28583626/