php 从数据库读取数据并生成树型可折叠菜单
来源:互联网 发布:淘宝同城交易怎么发货 编辑:程序博客网 时间:2024/05/22 03:40
数据存储形式
折叠菜单显示
直接调用.php页面即可输出树状可折叠菜单
所用到的js//区域折叠函数function ShowMenu(MenuID){ if(MenuID.style.display=="none") { MenuID.style.display=""; } else { MenuID.style.display="none"; }}//控制鼠标经过表格,表格颜色变化(在Firefox效果不明显)function out(){ var obj = event.srcElement; if(obj.tagName.toLowerCase() == "td") { var otr = obj.parentNode; if(!otr.tag) { otr.style.backgroundColor = ""; } }}function over(){ var obj = event.srcElement; if(obj.tagName.toLowerCase() == "td") { var otr = obj.parentNode; if(!otr.tag) { otr.style.backgroundColor = "#E1E9FD"; } }}<?php/* * Copyright (C), 2014-2015, xx Tech. Co., Ltd. * * File: tree.php * Author: hu, jiangwen * * Description:从数据库读取节点数据并以树状的形式体现,支持折叠. * * History: * Date Author Description * --------------------------------------------------------- * 14/04/23 hujw Initial creation * */include("../../config/config.db.php");if (isset($_SESSION["username"])) { $area = $_SESSION['area'];$GLOBALS["id"] = 1; //用来跟踪下拉菜单的id号 $layer = 1;//用来跟踪当前菜单的级数 $db_hostname = $db_config["hostname"]; //服务器地址$db_username = $db_config["username"]; //数据库用户名$db_password = $db_config["password"]; //数据库密码$db_database = $db_config["database"]; //数据库名称$db_charset = $db_config["charset"] ; //数据库编码if ($db_hostname != "" && $db_username != "" && $db_database != ""){$conn = mysql_connect($db_hostname,$db_username,$db_password); mysql_select_db($db_database); mysql_query("set names ".$db_charset);//提取顶级菜单 $sql="select * from mcp_node where `node_code` = '{$area}' "; $result = @mysql_query($sql,$conn); //如果顶级菜单存在则开始菜单的显示 if( @mysql_num_rows($result) >0 ) {ShowTreeMenu($conn,$result,$layer);}else{echo "节点数据为空";}}else{echo "数据库配置错误";}}//显示树型菜单函数 ShowTreeMenu($conn,$result,$layer) //$conn:数据库连接 //$result:需要显示的菜单记录集 //layer:需要显示的菜单的级数 function ShowTreeMenu($conn,$result,$layer) { //取得需要显示的菜单的项目数 $numrows= mysql_num_rows($result); //开始显示菜单,每个子菜单都用一个表格来表示 echo "<table>"; for( $rows = 0; $rows < $numrows ; $rows++) { //将当前菜单项目的内容导入数组 $menu = mysql_fetch_assoc($result); //提取菜单项目的子菜单记录集 $sql="select * from mcp_node where `node_pcode` = '{$menu['node_code']}'"; $result_sub=mysql_query($sql,$conn); echo "<tr onMouseOver='over()' onMouseOut='out()'>"; //如果该菜单项目有子菜单,则添加javascript onclick语句 if (mysql_num_rows($result_sub)>0) { echo "<td width='20'><img src='../../img/icons/unfold.gif' border='0'></td>"; echo "<td class='Menu' onClick='javascript:ShowMenu(Menu".$GLOBALS["id"].");'>"; } else { echo "<td width='10'><img src='../../img/icons/fold.gif' border='0'></td>"; echo "<td class='Menu'>"; }//show_local_tab()定义于 commom.js文件.echo "<a href='#' onclick=\"show_local_tab('{$menu['node_code']}','{$menu['node_name']}')\"><font size = 3>".$menu['node_name']."</font></a>"; echo "</td></tr>"; //如果该菜单项目有子菜单,则显示子菜单 if (mysql_num_rows( $result_sub ) > 0) { //指定该子菜单的id和style,以便和onClick语句相对应 echo "<tr id = Menu".$GLOBALS["id"]++." style='display:none'>"; echo "<td></td>"; echo "<td>"; //将级数加1 $layer++; //递归调用ShowTreeMenu()函数,生成子菜单 ShowTreeMenu($conn,$result_sub,$layer); //子菜单处理完成,返回到递归的上一层,将级数减1 $layer--; echo "</td></tr>"; } } echo "</table>"; } ?>
0 0
- php 从数据库读取数据并生成树型可折叠菜单
- php从数据库读取菜单数据并树状显示
- 从数据库读取数据动态生成树形菜单示例
- 下拉菜单从数据库读取数据动态生成
- java从数据库读取菜单,递归生成菜单树
- PHP从数据库中读取数据并打印
- Php从数据库里读出数据,并生成xml文件
- 从数据库中读取数据创建菜单
- [C#] 从数据库读取数据并输出
- php从数据库读取数据,并以json格式返回数据
- PHP连接数据库并读取数据打印
- php从数据库中读取数据生成xml文件的方法
- php从数据库中读取数据生成xml文件的方法
- 从数据库从读取数据动态生成JS表格脚本
- 从数据库中读取并生成图片的Servlet
- 从数据库中读取并生成图片的Servlet
- 从数据库中读取blob字段并生成图片文件
- php将数据库中的电话号码读取出来并生成图片
- UILabel 自动换行
- 单链表
- MyEclipse_Warning_serialVersionUID
- HDU 4280 Island Transport 最大流SAP
- Spring中bean的生命周期和Bean的装配
- php 从数据库读取数据并生成树型可折叠菜单
- C++中const、volatile、mutable的用法
- 超简单易用的 “在 pcduino 开发板上写 Linux 驱动控制板载 LED 的闪烁”
- 程序员的幽默
- 五月份的约定-说到做到
- HDU-1598-find the most comfortable road(暴力枚举+Kruskal最小生成树)
- extern 的用法/ASSERT用法
- 资本
- 最大值