首页 > php开发 > php+mysql+js实现树形菜单代码

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

收藏随意^^请保留教程地址.

标签:实现 php+mysql+js 树形

相关文章

发表留言