PHP+JS三级菜单联动菜单实现方法
本文实例讲述了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> <scriptlanguage=javascript> functionShowMenu(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*frommenuwhereparent_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>";//如果该菜单项目有子菜单,则添加JavaScriptonClick语句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>";elseecho$menu[name];echo"</td></tr>";//如果该菜单项目有子菜单,则显示子菜单if(mysql_num_rows($result_sub)>0){//指定该子菜单的ID和style,以便和onClick语句相对应 echo"<trid=Menu".$GLOBALS["ID"]++."style='display:none'>"; echo"<tdwidth='20'></td>"; echo"<td>"; //将级数加1 $layer++; //递归调用ShowTreeMenu()函数,生成子菜单 ShowTreeMenu($Con,$result_sub,$layer); //子菜单处理完成,返回到递归的上一层,将级数减1 $layer--; echo"</td></tr>"; } //继续显示下一个菜单项目 }echo"</table>";} ?> <?php $id=1; functiontest(){ global$id;unset($id); } test(); echo"<fontclass=menu>".($id)."</font>"; //在PHP4中这里会打印出1 ?> <?php $a=1; $b=2; functionSum(){ global$a,$b;$b=$a+$b; } Sum(); echo"<fontclass=menu>".$b."</font>"; ?> </body> </html>
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。