php+mysql+js实现树形菜单代码
//这是一款由php+mysql数据库的读取数据库的内容再生成树型号菜单由js来控制
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title>类别目录树</title>
<script type="text/网页特效">
function showmenu(menuid) {
if (menuid.style.display == "none") {
menuid.style.display = "";
} else {
menuid.style.display = "none";
}
}
</script>
<style>
body{margin:0px;}
table tr td{font-size:12px}
</style>
</head>
<body>
<?php
$globals["id"] = 1; //用来跟踪下拉菜单的id号
$layer = 1; //用来跟踪当前菜单的级数
//连接数据库
$con = mysql_connect("localhost", "root", "123456");
mysql_select_db("demo");
//提取一级菜单
$sql = "select * from think_news where `f_id`=0";
$result = mysql_query($sql, $con);
//如果一级菜单存在则开始菜单的显示
if (mysql_num_rows($result) > 0) showtreemenu($con, $result, $id);
function showtreemenu($con, $result, $layer) {
//取得需要显示的菜单的项目数
$numrows = mysql_num_rows($result);
//开始显示菜单,每个子菜单都用一个表格来表示
echo "<table cellpadding='0' cellspacing='0' border='0' width='100%'>";
for ($rows = 0; $rows < $numrows; $rows++) {
//将当前菜单项目的内容导入数组
$menu = mysql_fetch_array($result);
//提取菜单项目的子菜单记录集
$sql = "select * from think_news where f_id=$menu[id]";
$result_sub = mysql_query($sql, $con);
echo "<tr>";
//如果该菜单项目有子菜单,则添加javascript onclick语句
if (mysql_num_rows($result_sub) > 0) {
echo "<td width='20' valign= 'top' ><span onclick='showmenu(menu" . $globals['id'] . ")' ><img src='menu_minus.gif' border='0' align='absmiddle'></span></td>";
echo "<td class='menu' >";
} else {
echo "<td width='20'><img src='menu_plus.gif' border='0' align='absmiddle' > </td>";
echo "<td class='menu'>";
}
//如果该菜单项目没有子菜单,只显示菜单名称
echo $menu["title"];
echo "</td></tr>";
//如果该菜单项目有子菜单,则显示子菜单
if (mysql_num_rows($result_sub) > 0) {
//指定该子菜单的id和style,以便和onclick语句相对应
echo "<tr id=menu" . $globals["id"]++ . " style='display:none'>";
echo "<td width='20'> </td>";
echo "<td>";
//将级数加1
$layer++;
//递归调用showtreemenu()函数,生成子菜单
showtreemenu($con, $result_sub, $layer);
//子菜单处理完成,返回到递归的上一层
echo "</td></tr>";
}
//子菜单处理完成,返回到递归的上一层,将级数减1
$layer--;
}
echo "</table>";
}本文链接:http://www.phprm.com/develop/fs934.html
收藏随意^^请保留教程地址.