最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一個更簡單的無限級分類菜單代碼

 更新時間:2007年01月16日 00:00:00   作者:  

首先要感謝terry39的指點(diǎn),元旦閑來無事,我就把他所講的原理簡單實(shí)現(xiàn)一下,這個程序的關(guān)鍵就在于數(shù)據(jù)表的設(shè)計(jì)很有特色,不用遞歸,依靠個簡單SQL語句就能列出菜單,看看這個數(shù)據(jù)表怎么設(shè)計(jì)的:
數(shù)據(jù)庫字段大概如下:
-----------------------------------------------------------------------------------
id              編號
fid             父分類編號
name         分類名
path          分類路徑,以 id 為節(jié)點(diǎn),組成類似    ,1,2,3,4, 這樣的字符串
----------------------------------------------------------------------------------

可以假設(shè)有如下的數(shù)據(jù)

id      fid          name             path
----------------------------------------------------
1       0           分類1             ,1,
2       0           分類2             ,2,
3       1           分類1-1          ,1,3,
4       1           分類1-2          ,1,4,
5       2           分類2-1          ,2,5,
6       4           分類1-2-1       ,1,4,6,
----------------------------------------------------
這次偷懶,我只用一個頁面,好在代碼不長,全部代碼用類封裝的(不是必要,而是自己也想熟悉一下OO,呵呵?。?,來看看頁面代碼:

復(fù)制代碼 代碼如下:

<?php

/**************************************

  頁面:menu.php
  作者:輝老大
  功能:定義數(shù)據(jù)庫操作及生成菜單列表類

**************************************/
class menu{

       //創(chuàng)建構(gòu)造函數(shù),作用:數(shù)據(jù)庫連接并選擇相應(yīng)數(shù)據(jù)庫
       public function __construct(){
           $dbhost     = "localhost";
           $dbuser     = "root";
           $dbpassword = "7529639";
           $dbname     = "menu";
           mysql_connect($dbhost,$dbuser,$dbpassword) or die("error!");
           mysql_query("SET NAMES 'GBK'");
           mysql_select_db($dbname);
       }

       //執(zhí)行SQL語句函數(shù)
       private function query($sql){
           return mysql_query($sql);
       }

       //取得結(jié)果集數(shù)組函數(shù)
       private function loop_query($result){
           return mysql_fetch_array($result);
       }
       //列出菜單列表函數(shù)
       public function menulist(){
           $sql="select * from list order by path";
           $result=$this->query($sql);
            while($rows=$this->loop_query($result)){
             if(substr_count($rows['path'],',')>2){
               for($i=0;$i<(substr_count($rows['path'],',')-2);$i++)
               echo '&nbsp;';
              }
             echo $rows['name'].'<br>';
            }
       }

       //創(chuàng)建析構(gòu)函數(shù),作用:關(guān)閉數(shù)據(jù)庫連接
       public function __destruct(){
           return mysql_close();
       }
   }
  $db=new menu();//生成實(shí)例
  $db->menulist();//調(diào)用方法生成菜單
?> 

相關(guān)文章

最新評論

马山县| 长顺县| 华容县| 上栗县| 蒙山县| 白朗县| 黔江区| 昭平县| 澄江县| 宜都市| 丰顺县| 宿迁市| 阜平县| 金阳县| 建宁县| 平利县| 钟山县| 正镶白旗| 依兰县| 长武县| 什邡市| 福州市| 和硕县| 平南县| 壤塘县| 砀山县| 吉林省| 博罗县| 囊谦县| 岱山县| 文昌市| 盐边县| 永宁县| 江华| 马鞍山市| 景德镇市| 宜君县| 南和县| 洞头县| 含山县| 泌阳县|