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 相关文章推荐
在PWS上安装PHP4.0正式版
Oct 09 PHP
小偷PHP+Html+缓存
Nov 25 PHP
通过PHP的内置函数,通过DES算法对数据加密和解密
Jun 21 PHP
基于MySQL体系结构的分析
May 02 PHP
PHP安全的URL字符串base64编码和解码
Jun 19 PHP
php导入excel文件到mysql数据库的方法
Jan 14 PHP
PHP面向对象详解(三)
Dec 07 PHP
php下载文件,添加响应头的简单实例
Sep 22 PHP
Zend Framework数据库操作方法实例总结
Dec 11 PHP
PHP等比例压缩图片的实例代码
Jul 26 PHP
thinkphp5.1框架中容器(Container)和门面(Facade)的实现方法分析
Aug 05 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
Mar 26 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
咖啡与牛奶
2021/03/03 冲泡冲煮
分页详解 从此分页无忧(PHP+mysql)
2007/11/23 PHP
php生成百度sitemap站点地图类函数实例
2014/10/17 PHP
php cookie中点号(句号)自动转为下划线问题
2014/10/21 PHP
PHP实现二叉树的深度优先与广度优先遍历方法
2015/09/28 PHP
PHP 扩展Memcached命令用法实例总结
2020/06/04 PHP
js表数据排序 sort table data
2009/02/18 Javascript
event.keyCode键码值表 附只能输入特定的字符串代码
2009/05/15 Javascript
iframe 上下滚动条如何默认在下方实现原理
2012/12/10 Javascript
Javascript图像处理—为矩阵添加常用方法
2012/12/27 Javascript
jquery禁用右键示例
2014/04/28 Javascript
javascript的正则匹配方法学习
2016/02/24 Javascript
JavaScript的ExtJS框架中数面板TreePanel的使用实例解析
2016/05/21 Javascript
jQuery简单实现title提示效果示例
2016/08/01 Javascript
VueJS如何引入css或者less文件的一些坑
2017/04/25 Javascript
Vue中在新窗口打开页面及Vue-router的使用
2018/06/13 Javascript
微信小程序渲染性能调优小结
2019/07/30 Javascript
JS面向对象实现飞机大战
2020/08/26 Javascript
element-ui和vue表单(对话框)验证提示语(残留)清除操作
2020/09/11 Javascript
python使用urllib2模块获取gravatar头像实例
2013/12/18 Python
Python 26进制计算实现方法
2015/05/28 Python
Python如何进行时间处理
2020/08/06 Python
Python通过yagmail实现发送邮件代码解析
2020/10/27 Python
一款利用纯css3实现的360度翻转按钮的实例教程
2014/11/05 HTML / CSS
纽约现代艺术博物馆商店:MoMA STORE(室内家具和杂货商品)
2016/08/02 全球购物
eBay爱尔兰站:eBay.ie
2019/08/09 全球购物
某公司C#程序员面试题笔试题
2014/05/26 面试题
港湾网络笔试题
2014/04/19 面试题
大学生怎样写好自荐信
2014/02/25 职场文书
教导主任竞聘演讲稿
2014/05/16 职场文书
项目经理任命书内容
2014/06/06 职场文书
节能减耗标语
2014/06/21 职场文书
ktv好的活动方案
2014/08/17 职场文书
党的群众路线教育实践活动个人批评与自我批评
2014/10/16 职场文书
2015年度物流工作总结
2015/04/30 职场文书
微信小程序 根据不同用户切换不同TabBar
2022/04/21 Javascript