加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php+mysql+js实现树形菜单代码

发布时间:2020-12-13 20:48:49 所属栏目:PHP教程 来源:网络整理
导读://这是一款由php+mysql数据库的读取数据库的内容再生成树型号菜单由js来控制 */ ? html head metahttp-equiv= content-type content= text/html;charset=gb2312 / title类别目录树/title scripttype= text/网页特效 function showmenu(menuid) { if (menuid.
  1. //这是一款由php+mysql数据库的读取数据库的内容再生成树型号菜单由js来控制 
  2. */ 
  3. ?> 
  4. <html> 
  5. <head> 
  6. <meta http-equiv="content-type" content="text/html; charset=gb2312" /> 
  7. <title>类别目录树</title> 
  8. <script type="text/网页特效"
  9. function showmenu(menuid) 
  10. if(menuid.style.display=="none"){ 
  11. menuid.style.display=""
  12. else
  13. menuid.style.display="none"
  14. </script> 
  15. <style> 
  16. body{margin:0px;} 
  17. table tr td{font-size:12px} 
  18. </style> 
  19. </head> 
  20. <body> 
  21. <?php 
  22. $globals["id"] =1; //用来跟踪下拉菜单的id号 
  23. $layer=1; //用来跟踪当前菜单的级数 
  24. //连接数据库 
  25. $con=mysql_connect("localhost","root","123456"); 
  26. mysql_select_db("demo"); 
  27. //提取一级菜单 
  28. $sql="select * from think_news where `f_id`=0"
  29. $result=mysql_query($sql,$con); 
  30. //如果一级菜单存在则开始菜单的显示 
  31. if(mysql_num_rows($result)>0) showtreemenu($con,$result,$id); 
  32. function showtreemenu($con,$layer
  33. //取得需要显示的菜单的项目数 
  34. $numrows=mysql_num_rows($result); 
  35. //开始显示菜单,每个子菜单都用一个表格来表示 
  36.   echo "<table cellpadding='0' cellspacing='0' border='0' width='100%'>"
  37.  for($rows=0;$rows<$numrows;$rows++) 
  38.  { 
  39.    //将当前菜单项目的内容导入数组 
  40.     $menu=mysql_fetch_array($result); 
  41.    //提取菜单项目的子菜单记录集 
  42.    $sql="select * from think_news where f_id=$menu[id]"
  43.    $result_sub=mysql_query($sql,$con); 
  44.    echo "<tr>"
  45.    //如果该菜单项目有子菜单,则添加javascript onclick语句 
  46.    if(mysql_num_rows($result_sub)>0) 
  47.    { 
  48.          echo "<td width='20' valign= 'top' ><span onclick='showmenu(menu".$globals['id'].")' ><img src='menu_minus.gif' border='0'  align='absmiddle'></span></td>"; 
  49.          echo "<td class='menu' >"
  50.    } 
  51.    else 
  52.    { 
  53.          echo "<td width='20'><img src='menu_plus.gif' border='0' align='absmiddle' > </td>"
  54.          echo "<td class='menu'>"
  55.    } 
  56.    //如果该菜单项目没有子菜单,只显示菜单名称 
  57.    echo $menu["title"]; 
  58.    echo "</td></tr>"
  59.    //如果该菜单项目有子菜单,则显示子菜单 
  60.    if(mysql_num_rows($result_sub)>0) 
  61.    { 
  62.        //指定该子菜单的id和style,以便和onclick语句相对应 
  63.        echo "<tr id=menu".$globals["id"]++." style='display:none'>"
  64.        echo "<td width='20'> </td>"
  65.        echo "<td>"
  66.        //将级数加1 
  67.        $layer++; 
  68.        //递归调用showtreemenu()函数,生成子菜单 
  69.        showtreemenu($con,$result_sub,$layer); 
  70.        //子菜单处理完成,返回到递归的上一层 
  71.        echo "</td></tr>"
  72.    } 
  73.    //子菜单处理完成,返回到递归的上一层,将级数减1 
  74.    $layer--; 
  75.   } 
  76.   echo "</table>"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读