php - 如何从数据库中获取菜单及其子类别

标签 php html mysql yii menu

这是我的菜单

              <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/

相关文章:

php - 使用小型客户端从数据库帮助中使用 $_GET 检索信息。 PHP 和 MySQL

mysql - 如何在MySQL中实现先决条件表

php - 如何用逗号将不同的行值放入 td 中

php - 从昨天开始,即 26/05/2015,网站表单数据停止保存到 Google 电子表格中

php - Mysql order 按另一个表的字段名计数

php - 如何在 PHP 中解码 json 字符串并添加到数组

javascript - 使用 javascript 将文本替换为 <span>

html - 以编程方式更改 innerhtml 后,Div 未正确溢出

python - 为什么这个网站不能用 bs4 抓取?

返回多行多列的 MySql case 语句