程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php+mysql+js實現樹形菜單代碼

php+mysql+js實現樹形菜單代碼

編輯:關於PHP編程

php+mysql+js實現樹形菜單代碼 這是一款由php+mysql數據庫的讀取數據庫的內容再生成樹型號菜單由js來控制

php教程+mysql教程+網頁特效實現樹形菜單代碼
這是一款由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>";
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved