如何用PHP代码创建多级下拉菜单

如何用PHP代码创建多级下拉菜单,第1张

下拉菜单是用html代码写的,你可以用dreamweaver直接做出来,里面的内容可以是php代码,如果多级代码显示在一个下拉菜单里,需要php多级读取了。建议先学好php,再来考虑此类问题。

把菜单成一个数据库表,指定一个键。如:
id:1, title:文章管理, icon: document, url: admin/article/index (更多字段根据需要设置)
id:2, title:产品管理, icon: cube, url: admin/product/index
id:3, title:系统设置, icon: setting, url: admin/setting/index
然后在管理员表中添加一个varchar(500) (长度根据你的菜单总数估计)或text字段
在管理员权限管理中列出所有菜单项,把id作为健值,选中的保存在管理员表的权限字段中
格式类似: 1,2,3
然后在输出菜单的时候进行权限判断
//将权限字段切割成数组
$perms = explode(',', $user['permission']);
foreach($menus as $menu){
if(in_array($perms, $menu['id'])){
echo '<a href="' $menu['url']'" >'$menu['title']'</a>';
}
}
然后在每个页面根据页面对应的权限id做一个判断
//比如在文章页面
if(!in_array($perms, 1)){
exit('没有权限');
}
以上是大体思路,具体根据你的系统设计编写代码并对应地优化。

php 数据库设计
id title url pid leve
1 一级菜单 indexphp 0 1
2 二级菜单 listphp 2 2
这种格式的 可以无限级分类
取数据的时候 按level 取 几级就是几级 ,
循环的话 就是先 循环 level=1的分类,然后再循环里面套小循环
这是最基本的方法
还有一种就是
自定义函数 生成tree 树形结构 最后用css, js美化加特效

下拉菜单不是用PHP做的,是同HTML,CSS,JS来完成的前端界面。

下拉菜单示例代码如下:

<style>
{margin:0;padding:0;}
body{font:16px/15 "\5FAE\8F6F\96C5\9ED1","\5B8B\4F53", sans-serif, Arial, System;background-color:#FFF;}/\9ED1\4F53黑体/
li{list-style:none;}
a{text-decoration:none;color:#000;}
nav{background:rgb(255,175,0);height:45px;line-height:45px;}
nav>li{float:left;width:90px;text-align:center;}
subnav{display:none;background:rgb(45,45,45);}
subnav li{text-align:left;color:#fff;text-indent:15px;}
subnav li a{color:#fff;}
</style>
<ul class="nav">
  <li><a href="" target="_blank">首页</a></li>
  <li><a href="" target="_blank">活动</a></li>
  <li>更多
    <ul class="subnav">
      <li><a href="" target="_blank">设计师</a></li>
      <li><a href="" target="_blank">专题</a></li>
      <li><a href="" target="_blank">主创网</a></li>
    </ul>
  </li>
</ul>
<script>
$(function() {
  $("nav>li")hover(function() {
    $(this)find('subnav')slideDown();
  }, function() {
    $(this)find('subnav')slideUp();
  });
});
</script>

你是说1PHP吗,可以使用数组,例如:
$arr=array('001'=>'未分类',
'002'=>'1-逛街购物 >> 1-时尚服饰',
'003'=>'1-逛街购物 >> 2-化妆护肤',
'004'=>'1-逛街购物 >> 3-家电');
$ww='002';//$_POST[AA]
echo $arr[$ww];
上面的数组定义可以和表单页面恭喜,输出表单的时候也使用数组的循环


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13371776.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-23
下一篇 2023-07-23

发表评论

登录后才能评论

评论列表(0条)

保存