这是我的菜单

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

10-12 12:42
查看更多