2010-08-14 45 views
1

我想知道什麼是使用PHP & MySQL來顯示100個類別的最佳方式?如何使用PHP和MySQL顯示類別和無終端子類別?

例如,爲每個類別或子類別創建文件夾並不明智。

我該如何創建我的PHP頁面來顯示類別和無終點子類別?

我的網址看起來像多個子類別一樣嗎?

http://www.example.com/a/b/c/d/e 

它看起來像什麼嗎?

http://www.example.com/cat? 

我的數據庫如何看起來像?

這是我的MySQL數據庫看起來應該如何添加或刪除?

CREATE TABLE categories ( 
id INT UNSIGNED NOT NULL AUTO_INCREMENT, 
parent_id INT UNSIGNED NOT NULL DEFAULT 0, 
category TEXT NOT NULL, 
url TEXT NOT NULL, 
PRIMARY KEY (id), 
INDEX parent (parent_id) 
); 

一個很好的教程或詳細的例子會幫助很多。

對不起,所有的問題。

輸出數據。

1. Administrative Support 
    2. Arts & Entertainment 
     1. Amusement & Theme Parks 
     2. Art Appreciation 
     3. Artists 
       1. A 
        1. a1 
        2. a2 
       2. B 
       3. C 
       4. D 
    3. Automotive & Transportation 
    4. Network Administration 
    5. Server Administration 
    6. Web Design 
     1. CSS 
     2. HTML 

數據庫存儲。

id parent_id category url 
1 0   Arts & Entertainment arts-and-entertainment/ 
2 1   Amusement & Theme Parks amusement-and-theme-parks/ 
3 1   Art Appreciation art-appreciation/ 
4 1   Artists  artists/ 
5 4   A artists/a/ 
6 4   B artists/b/ 
7 4   C artists/c/ 
8 4   D artists/d/ 
9 0   Automotive & Transportation automotive-and-transportation/ 
10 5   a1 artisits/a/a1/ 
11 5   a2 artisits/a/a2/ 
12 0   Web Design web-design/ 
13 12   HTML web-design/html/ 
14 12   CSS  web-design/css/ 
15 0   Network Administration network-administration/ 
16 0   Server Administration server-administration/ 
17 0   Administrative Support administrative-support/ 
+0

什麼PARENT_ID'和 '分類' 語義? 'parent_id'是對'id'的引用? 'category'存儲'a/b/c/d/e'或只有'e'和'parent_id'存儲上級類別的標識符('d')的'id',...? – barroco 2010-08-14 20:02:39

+0

@ isola009你在說什麼'parent_id'和'category'語義? – monkeyEYES 2010-08-14 20:07:52

+0

@monkeyEYES類別表 – barroco 2010-08-14 20:15:21

回答

0

我希望作品:

function category_tree($parent = 0, $parent_url = "www.example.com/"){ 
    echo "<ol>"; 
    $sql = sprintf("SELECT id, category, url FROM categories where parent_id = %d order by category asc", $parent); 
    $r = mysql_query($sql); 
    while($rs = mysql_fetch_assoc($r)){ 
     $url = $parent_url . $rs['url']; 
     $item = sprintf("<li> <a href = '%s' >%s</a> </li>", $url , $rs['category']); 
     echo $item; 
     category_tree($rs['id'], $url); 
    } 
    mysql_free_result($r); 
    echo "</ol>"; 
} 
+0

謝謝我修復了一些代碼,使它與我的工作。 – monkeyEYES 2010-08-14 21:15:32

+0

這是完美的! ;-) – barroco 2010-08-14 21:18:29