您的位置:首页网页设计PHP技巧 → 用PHP实现多级树型菜单

用PHP实现多级树型菜单

时间:2004/11/7 3:16:00来源:本站整理作者:蓝点我要评论(0)

<?   

  //树型目录结构模板程序   

  //菜单目录库字段说明:   

  //menu_id 菜单项目 id   

  //menu 菜单名称   

  //menu_grade 菜单等级 1 为主菜单 2 为二级菜单 ........   

  //menu_superior 上一级菜单 id 号   



  function my_menu($menu_content,$i,$menu_grade_temp,$menu_superior_temp)   

  {   

    global $PHP_SELF;   

    $temp1=$menu_grade_temp+1;   

    $menu_superior_temp_array=split("/",$menu_superior_temp);   

    for ($t=0;$t<$i;$t++)   

    {   

      $menu_array=split("/",$menu_content[$t]);   

      If(($menu_array[2]==$menu_grade_temp)&&($menu_array[3]==$menu_superior_temp_array[$menu_grade_temp-1]))   

      {   

        for($p=1;$p<=$menu_grade_temp;$p++){echo "&nbsp;&nbsp;";}   

        $temp3=$menu_superior_temp_array;   

        $temp3[$menu_grade_temp]=$menu_array[0];   

        $temp2=implode("/",$temp3);   

        if ($menu_array[0]==$menu_superior_temp_array[$temp1-1])   

        {   

          $temp5=$temp1-1;   

          $temp3[$menu_grade_temp]="";   

          $temp6=implode("/",$temp3);   

          echo "$menu_array[1]
";   

          my_menu($menu_content,$i,$temp1,$temp2);   

        }   

        else   

        {   

          $temp3[$menu_grade_temp+1]="";   

          $temp6=implode("/",$temp3);   

          echo "$menu_array[1]
";   

        }   

      }   

    }   

  }   

  // 连接 MySql 数据库   

  $db_host="localhost";   

  $db_user="dkj";   

  $db_password="123";   

  $db_name="test";   

  mysql_connect($db_host,$db_user,$db_password);   

  mysql_select_db($db_name);   



  //从数据库中取得数据   

  $query_string="select * from menu order by menu_grade";   

  $db_data=mysql_query($query_string);   



  //第一次执行初始化   

  if ($menu_grade_temp=="")   

  {   

    $menu_superior_temp=0;   

  }   



  //将所有的信息读入数组,并统计数组个数   

  $i=0;   

  while (list($menu_id,$menu,$menu_grade,$menu_superior)=mysql_fetch_row($db_data))   

  {   

    $menu_content[$i]=$menu_id."/".$menu."/".$menu_grade."/".$menu_superior;   

    $i++;   

  }   

  my_menu($menu_content,$i,1,$menu_superior_temp);   



  /* 附数据库结构及模拟数据   

  # phpMyAdmin MySQL-Dump   

  #   

  # 主机: localhost 数据库 : test   

  # --------------------------------------------------------   

    

  #   

  # 数据表的结构 'menu'   

  #   



  CREATE TABLE menu (   

  menu_id int(11) NOT NULL auto_increment,   

  menu varchar(20) NOT NULL,   

  menu_grade int(11) NOT NULL,   

  menu_superior int(11) NOT NULL,   

  UNIQUE menu_id (menu_id)   

  );   



  #   

  # 导出下面的数据库内容 'menu'   

  #   



  INSERT INTO menu VALUES( '1', '计算机', '1', '0');   

  INSERT INTO menu VALUES( '2', '编程', '2', '1');   

  INSERT INTO menu VALUES( '3', '网络', '2', '1');   

  INSERT INTO menu VALUES( '4', 'PHP与MySql', '3', '2');   

  INSERT INTO menu VALUES( '5', 'C语言', '3', '2');   

  INSERT INTO menu VALUES( '6', '网页制作', '3', '3');   

  INSERT INTO menu VALUES( '7', 'TCP、IP协议', '3', '3');   

  INSERT INTO menu VALUES( '8', '数学', '1', '0');   

  INSERT INTO menu VALUES( '9', '高等数学', '2', '8');   

  INSERT INTO menu VALUES( '10', '线性代数', '3', '9');   

  INSERT INTO menu VALUES( '11', '离散数学', '3', '9');   

  INSERT INTO menu VALUES( '12', '初等数学', '2', '8');   

  INSERT INTO menu VALUES( '13', '文学', '1', '0');   

  INSERT INTO menu VALUES( '14', '中国文学', '2', '13');   

  INSERT INTO menu VALUES( '15', 'php', '4', '4');   

  INSERT INTO menu VALUES( '16', 'mysql', '4', '4');   

*/   

?>  

相关阅读 Win10预览版怎么升级 Win10预览版升级方法厂商不再预装Win7或8.1系统,驱动人生帮您快速升级Mac移动硬盘安装win8 Mac将win装在移动硬盘使用教程windows10xboxone串流简单教程Windows Hello怎么用 Windows Hello使用设置教程win10怎么关闭自动更新 win10如何关闭自动更新Mac系统如何远程桌面到Windows系统windows update更新有用吗 windows update下载的文件在哪

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 如何恢复Discuz!7.0被 CSS实现Tab技巧Linux配置DHCP服务器实例:linux配置教程如何在IIS7下设置支持PHP程序PHP技巧--通过COM使用ADODB

人气排行 dedecms数据库表和字段说明最小化数据传输——在客户端存储数据php如何自动跳转中英文页面如何在IIS7下设置支持PHP程序php批量获取首字母(汉字、数字、英文)经典php实现大文件上传源代码Windows环境PHP的session不能正常使用解决办PHP聊天室技术