这是我的菜单
<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保存在子类别表中。
如果不存在则创建表类别
(
cid
int(11) NOT NULL AUTO_INCRMENT,
cname
varchar(255) NOT NULL,
主键(cid
)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCRMENT=1 ;
如果不存在则创建表子类别
(
sid
int(11) NOT NULL AUTO_INCRMENT,
sname
varchar(255) NOT NULL,
cid
int(11) NOT NULL,
主键(sid
)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCRMENT=1 ;
如何通过使用单个查询从 MySql 获取数据来在菜单中显示它?
最佳答案
请告诉我数据库的架构。一般来说,一个条件需要2个周期,第一个用于类别,第二个用于子类别。 文件.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/