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 相关文章推荐
Smarty安装配置方法
Apr 10 PHP
sourcesafe管理phpproj文件的补充说明(downmoon)
Apr 11 PHP
php中对2个数组相加的函数
Jun 24 PHP
PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
Apr 21 PHP
php获取网页请求状态程序示例
Jun 17 PHP
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
Jan 30 PHP
php实现CSV文件导入和导出
Oct 24 PHP
PHP随机数 C扩展随机数
May 04 PHP
PHP常用文件操作函数和简单实例分析
Jun 03 PHP
Laravel Memcached缓存驱动的配置与应用方法分析
Oct 08 PHP
PHP版微信小店接口开发实例
Nov 12 PHP
php7 安装yar 生成docker镜像
May 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下实现农历日历的代码
2007/03/07 PHP
PHP处理excel cvs表格的方法实例介绍
2013/05/13 PHP
使用PHP导出Redis数据到另一个Redis中的代码
2014/03/12 PHP
PHP中应该避免使用同名变量(拆分临时变量)
2015/04/03 PHP
php+mysql实现简单登录注册修改密码网页
2016/11/30 PHP
php5与php7的区别点总结
2019/10/11 PHP
imgAreaSelect 中文文档帮助说明
2011/10/08 Javascript
在Javascript中 声明时用&quot;var&quot;与不用&quot;var&quot;的区别
2013/04/15 Javascript
JS模拟自动点击的简单实例
2013/08/08 Javascript
鼠标移入移出事件改变图片的分辨率的两种方法
2013/12/17 Javascript
基于jquery实现鼠标左右拖动滑块滑动附源码下载
2015/12/23 Javascript
在WordPress中加入Google搜索功能的简单步骤讲解
2016/01/04 Javascript
关于JavaScript中事件绑定的方法总结
2016/10/26 Javascript
Angular2 Service实现简单音乐播放器服务
2017/02/24 Javascript
原生js轮播特效
2017/05/18 Javascript
微信小程序异步处理详解
2017/11/10 Javascript
利用vscode调试编译后的js代码详解
2018/05/14 Javascript
新年快乐! javascript实现超级炫酷的3D烟花特效
2019/01/30 Javascript
jquery+css实现Tab栏切换的代码实例
2019/05/14 jQuery
图解javascript作用域链
2019/05/27 Javascript
js实现限定区域范围拖拉拽效果
2020/11/20 Javascript
深入解析Python中的lambda表达式的用法
2015/08/28 Python
python脚本生成caffe train_list.txt的方法
2018/04/27 Python
python引用(import)某个模块提示没找到对应模块的解决方法
2019/01/19 Python
Python实现获取系统临时目录及临时文件的方法示例
2019/06/26 Python
python getopt模块使用实例解析
2019/12/18 Python
完美解决jupyter由于无法import新包的问题
2020/05/26 Python
python unichr函数知识点总结
2020/12/16 Python
Pycharm 如何一键加引号的方法步骤
2021/02/05 Python
双十佳事迹材料
2014/01/29 职场文书
模具专业求职信
2014/06/26 职场文书
单位委托书范本(3篇)
2014/09/18 职场文书
幼儿教师辞职信范文
2015/03/02 职场文书
教师求职简历自我评价
2015/03/10 职场文书
论文致谢词范文
2015/05/14 职场文书
PHP新手指南
2021/04/01 PHP