PHP+JS三级菜单联动菜单实现方法


Posted in PHP onFebruary 24, 2016

本文实例讲述了PHP+JS三级菜单联动菜单实现方法。分享给大家供大家参考,具体如下:

<html>
  <head>
    <title>
      智能递归菜单-读取数据库
    </title>
    <style>
      TD { FONT-FAMILY: "Verdana", "宋体"; FONT-SIZE: 12px; LINE-HEIGHT: 130%;
      letter-spacing:1px } A:link { COLOR: #990000; FONT-FAMILY: "Verdana", "宋体";
      FONT-SIZE: 12px; TEXT-DECORATION: none; letter-spacing:1px } A:visited
      { COLOR: #990000; FONT-FAMILY: "Verdana", "宋体"; FONT-SIZE: 12px; TEXT-DECORATION:
      none; letter-spacing:1px } A:active { COLOR: #990000; FONT-FAMILY: "Verdana",
      "宋体"; FONT-SIZE: 12px; TEXT-DECORATION: none; letter-spacing:1px } A:hover
      { COLOR: #ff0000; FONT-FAMILY: "Verdana", "宋体"; FONT-SIZE: 12px; TEXT-DECORATION:
      underline; letter-spacing:1px } .Menu { COLOR:#000000; FONT-FAMILY: "Verdana",
      "宋体"; FONT-SIZE: 12px; CURSOR: hand }
    </style>
    <script language=javascript>
      function ShowMenu(MenuID) {
        if (MenuID.style.display == "none") {
          MenuID.style.display = "";
        } else {
          MenuID.style.display = "none";
        }
      }
    </script>
  </head>
  <body>
<?php
// $Id:$
//基本变量设置
$GLOBALS["ID"] = 1;
//用来跟踪下拉菜单的ID号 $layer=1;
//用来跟踪当前菜单的级数
//连接数据库
$Con=mysql_connect( "localhost", "root", "123456"); mysql_select_db(
"menu");
//提取一级菜单
$sql="select * from menu where parent_id=0" ;
$result=mysql_query($sql,$Con);
//如果一级菜单存在则开始菜单的显示
if(mysql_num_rows($result)>0) ShowTreeMenu($Con, $result, $layer, $ID); 
//=============================================
//显示树型菜单函数 ShowTreeMenu($con,$result,$layer) //$con:数据库连接 
//$result:需要显示的菜单记录集
//layer:需要显示的菜单的级数 
//=============================================
function
ShowTreeMenu($Con, $result, $layer) {
//取得需要显示的菜单的项目数
$numrows=mysql_num_rows($result);
  //开始显示菜单,每个子菜单都用一个表格来表示 echo "
   < tablecellpadding = '0'cellspacing = '0'border = '0' > "; for($rows=0;$rows
        <$numrows;$rows++) { //将当前菜单项目的内容导入数组 $menu=mysql_fetch_array($result);
        //提取菜单项目的子菜单记录集 $sql="select * frommenuwhereparent_id = $menu[id]" ; $result_sub=mysql_query($sql,$Con);
        echo " < tr > "; //如果该菜单项目有子菜单,则添加JavaScript onClick语句 if(mysql_num_rows($result_sub)>
          0) { echo " < tdwidth = '20' > < imgsrc = 'tree_expand.gif'border = '0' > < / td > "; echo " < tdclass = 'Menu'onClick = 'javascript:ShowMenu(Menu".$GLOBALS["ID"].");' > "; } else { echo " < tdwidth = '20' > < imgsrc = 'tree_collapse.gif'border = '0' > < / td > "; echo " < tdclass = 'Menu' > "; } //如果该菜单项目没有子菜单,并指定了超级连接地址,则指定为超级连接, //否则只显示菜单名称 if($menu[url]!="")
              echo " < ahref = '$menu[url]' > $menu[name] < / a > "; else echo $menu[name]; echo " < / td > < / tr > "; //如果该菜单项目有子菜单,则显示子菜单 if(mysql_num_rows($result_sub)>0) { //指定该子菜单的ID和style,以便和onClick语句相对应
            echo " < trid = Menu".$GLOBALS["ID "]++ . " style='display:none'>";
  echo "<td width='20'></td>";
  echo "<td>";
  //将级数加1
  $layer++;
  //递归调用ShowTreeMenu()函数,生成子菜单 
  ShowTreeMenu($Con,$result_sub,$layer);
  //子菜单处理完成,返回到递归的上一层,将级数减1
  $layer--;
  echo "< / td > < / tr > ";
  }
  //继续显示下一个菜单项目
  } echo " < / table > "; }
  ?>
      <?php
      $id=1 ;
      function test() {
      global $id; unset($id);
      }
      test();
      echo " < fontclass = menu > ".($id). " < / font > ";
      // 在 PHP 4 中这里会打印出 1
      ?>
      <?php
      $a=1 ;
      $b=2 ;
      function Sum() {
      global $a, $b; $b=$ a + $b;
      }
      Sum();
      echo " < fontclass = menu > ".$b. " < / font > ";
      ?>
  </body>
</html>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
用php和MySql来与ODBC数据连接
Oct 09 PHP
PHP 网页过期时间的控制代码
Jun 29 PHP
php at(@)符号的用法简介
Jul 11 PHP
PhpMyAdmin中无法导入sql文件的解决办法
Jan 08 PHP
PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码
Aug 11 PHP
php日历制作代码分享
Jan 20 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
Jun 30 PHP
Yii入门教程之Yii安装及hello world
Nov 25 PHP
PHP访问数据库集群的方法小结
Mar 14 PHP
php连接oracle数据库的方法(测试成功)
May 26 PHP
Thinkphp框架开发移动端接口(2)
Aug 18 PHP
PHP中echo与print区别点整理
Mar 09 PHP
PHP+MySQL实现的简单投票系统实例
Feb 24 #PHP
汇总PHPmailer群发Gmail的常见问题
Feb 24 #PHP
PHP设计模式之简单投诉页面实例
Feb 24 #PHP
在Mac OS上编译安装Nginx+PHP+MariaDB开发环境的教程
Feb 23 #PHP
phalcon框架使用指南
Feb 23 #PHP
PHP计算日期相差天数实例分析
Feb 23 #PHP
php基于Fleaphp框架实现cvs数据导入MySQL的方法
Feb 23 #PHP
You might like
php 分库分表hash算法
2009/11/12 PHP
用php解析html的实现代码
2011/08/08 PHP
使用php显示搜索引擎来的关键词
2014/02/13 PHP
MyEclipse常用配置图文教程
2014/09/11 PHP
php实现简单文件下载的方法
2015/01/30 PHP
PHP YII框架开发小技巧之模型(models)中rules自定义验证规则
2015/11/16 PHP
php通过淘宝API查询IP地址归属等信息
2015/12/25 PHP
改版了网上的一个js操作userdata
2007/04/27 Javascript
js编码、解码函数介绍及其使用示例
2013/09/05 Javascript
javascript去掉代码里面的注释
2015/07/24 Javascript
基于jquery实现图片放大功能
2016/05/07 Javascript
jQuery根据表单name获取值的方法
2016/05/24 Javascript
JS实现点击事件统计的简单实例
2016/07/10 Javascript
两行代码轻松搞定JavaScript日期验证
2016/08/03 Javascript
Vue监听数组变化源码解析
2017/03/09 Javascript
实现微信小程序的wxml文件和wxss文件在webstrom的支持
2017/06/12 Javascript
js定义类的方法示例【ES5与ES6】
2019/07/30 Javascript
解决qrcode.js生成二维码时必须定义一个空div的问题
2020/07/09 Javascript
Vue中添加滚动事件设置的方法详解
2020/09/14 Javascript
python实现监控linux性能及进程消耗性能的方法
2014/07/25 Python
Python中super的用法实例
2015/05/28 Python
Python自动扫雷实现方法
2015/07/25 Python
python 实现删除文件或文件夹实例详解
2016/12/04 Python
python批量读取txt文件为DataFrame的方法
2018/04/03 Python
Python中asyncio模块的深入讲解
2019/06/10 Python
python+openCV利用摄像头实现人员活动检测
2019/06/22 Python
Python银行系统实战源码
2019/10/25 Python
python 实现矩阵按对角线打印
2019/11/29 Python
Canvas环形饼图与手势控制的实现代码
2019/11/08 HTML / CSS
介绍一下Linux中的链接
2016/06/05 面试题
大一自我鉴定范文
2013/10/04 职场文书
拾金不昧的表扬信
2014/01/16 职场文书
歌唱比赛获奖感言
2014/01/21 职场文书
给小学生的新年寄语
2014/04/04 职场文书
信访工作个人总结
2015/03/03 职场文书
红楼梦读书笔记
2015/06/25 职场文书