本文实例讲述了php+js三级菜单联动菜单实现方法。分享给大家供大家参考,具体如下:
智能递归菜单-读取数据库
<?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 " ";
echo "";
//将级数加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 > ";
?>
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
相关文章
如何在PHP中将MySQL存储的Base64图片用作网页背景图
如何在PHP中将MySQL存储的Base64图片用作网页背景图像
如何使用 PHP 基于上传的 PDF 模板动态生成新 PDF 文档
如何使用 PHP 正确计算文本文件中数字的总和
PHP中浮点数精度问题导致log(1000, 100)看似等于1.5实则不等
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
更多
相关专题
更多
漫蛙漫画网页版入口与正版在线阅读 漫蛙MANWA官网访问专题
本专题围绕漫蛙漫画(Manwa / Manwa2)官网网页版入口进行整理,涵盖漫蛙漫画官方主页访问方式、网页版在线阅读入口、台版正版漫画浏览说明及基础使用指引,帮助用户快速进入漫蛙漫画官网,稳定在线阅读正版漫画内容,避免误入非官方页面。
8
2026.02.03
Yandex官网入口与俄罗斯搜索引擎访问指南 Yandex中文登录与网页版入口
本专题汇总了俄罗斯知名搜索引擎 Yandex 的官网入口、免登录访问地址、中文登录方法与网页版使用指南,帮助用户稳定访问 Yandex 官网,并提供一站式入口汇总。无论是登录入口还是在线搜索,用户都能快速获取最新稳定的访问链接与使用指南。
96
2026.02.03
Java 设计模式与重构实践
本专题专注讲解 Java 中常用的设计模式,包括单例模式、工厂模式、观察者模式、策略模式等,并结合代码重构实践,帮助学习者掌握 如何运用设计模式优化代码结构,提高代码的可读性、可维护性和扩展性。通过具体示例,展示设计模式如何解决实际开发中的复杂问题。
2
2026.02.03
C# 并发与异步编程
本专题系统讲解 C# 异步编程与并发控制,重点介绍 async 和 await 关键字、Task 类、线程池管理、并发数据结构、死锁与线程安全问题。通过多个实战项目,帮助学习者掌握 如何在 C# 中编写高效的异步代码,提升应用的并发性能与响应速度。
2
2026.02.03
Python 强化学习与深度Q网络(DQN)
本专题深入讲解 Python 在强化学习(Reinforcement Learning)中的应用,重点介绍 深度Q网络(DQN) 及其实现方法,涵盖 Q-learning 算法、深度学习与神经网络的结合、环境模拟与奖励机制设计、探索与利用的平衡等。通过构建一个简单的游戏AI,帮助学习者掌握 如何使用 Python 训练智能体在动态环境中作出决策。
2
2026.02.03
热门下载
更多
精品课程
更多
相关推荐 /
热门推荐 /
最新课程
最新文章
更多
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号






