从 xml 或 json 填充的数据创建下拉菜单有一些想法。但是我怎样才能纯粹用 php 来做到这一点呢?一种可能的方法是创建一个多级数组。但是从 mysql 数据创建它的最佳方法是什么(子菜单有父 ID),以及如何有效地读取数组(通过 foreach 循环?)?
最佳答案
对于 php 端,假设您使用该查询以数组格式检索表中的内容:
$menu = array(
'page/1' => 'about',
'page/2' => 'photos',
'menu-title' => array('page/4' => 'sub-menu-1','page/5' => 'sub-menu-2')
);
echo '<ul>';
foreach($menu as $key => $value){
if(is_string($value)){
echo '<li><a href="'.$key.'">'.$value.'</a></li>';
}
if(is_array($value)){
echo '<ul>';
echo '<li><a href="#">'.key($value).'</a></li>';
foreach($value as $sub_key => $sub_value){
echo '<li><a href="'.$sub_key .'">'.$sub_value.'</a></li>';
}
echo '</ul>';
}
}
echo '</ul>';
对于mysql数据库,有一个“parent_id”列,如果它是空的,那么它将是一个根级别,除此之外,它将是一个子级,另一列“路径”和“标题,你也可以添加一个”重量“列来订购它们。
注意:这是未经测试的代码
关于php - 下拉菜单数据数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7618415/