如何做php二级菜单,动态的

刚开始学php,经过一番苦难,终于测试成功。记录一下,也方便他人。

从数据库动态读取菜单数据 的php代码,带ul  li  标签。

 

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>php二级菜单</title>
</head>

<body>

<?php
$data = array
(
    array("id"=>1,"name"=>"公司简介","parent_id"=>0,"deep"=>0),
    array("id"=>2,"name"=>"产品介绍","parent_id"=>0,"deep"=>0),
    array("id"=>3,"name"=>"产品介绍1","parent_id"=>0,"deep"=>0),
    array("id"=>4,"name"=>"产品介绍2","parent_id"=>0,"deep"=>0),
    array("id"=>5,"name"=>"产品介绍2-1","parent_id"=>4,"deep"=>1)
);
function  getMenu($data,$pid=0,$deep=0)
   {

       $tree='';
       foreach ($data as $row) {
           if($row['parent_id']==$pid){
              $row['deep']=$deep;
              $row['parent_id']=getMenu($data,$row['id'],$deep+1);
              $tree[]=$row;
           }
       }
       return $tree;

   }
$aa=getMenu($data);
function procHtml($menus)
       {
           $html = '';
           if(is_array($menus)) {
               foreach ($menus as $t) {
                   if ($t['parent_id'] == '') {
                       $html .= "<li>{$t['name']}</li>";
                   } else {
                       $html .= "<li>" . $t['name'];
                       $html .= procHtml($t['parent_id']);
                       $html = $html . "</li>";
                   }
               }
           }
           return $html ? '<ul>'.$html.'</ul>' : $html ;

       }
$bb= procHtml($aa);
echo $bb;
?>
</body>
</html>

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值