0

我知道標題可能不完全是這個,但忍受着我。 我不知道這是另一個標題。如何從數據庫中獲取多維數組?

那麼看看這是我的情況。 我正在構建一個小小的cms系統(爲了我自己並從中學習)。我想要CMS中的頁面按類別列出和排序。 它會是這個樣子:

Webpages 
- Home 
    -- homepage(this is the web page itself) 
- News 
    -- Latest news 
    -- Archive 

這個系統將意味着我將有子類別。

在數據庫中,我已經做了一個表格:

| ID | Parent_ID | Name | Lable | Order| 
    1  1  Webpages webpages  1 
    2  1  Home  home   1 
    3  1  News  news   2 

正如你可以看到這裏的主要類別是網頁類別,家庭和新聞是它的子類。 而這兩個類別是這樣排序的,所以Home類首先是News。

我面臨的問題是這樣的: 如果我想獲得所有子類別意味着我需要從主類別網頁開始,並使用該ID我可以獲得主類別的子類別。

我想你可以看到這可能會有多深,這將意味着(我認爲)最終會有很多查詢將被運行的每個子類別。

所以我的問題是: 有沒有辦法在一個礦石2查詢中以正確的順序一次獲得所有的子類別。

如果您有答案,請讓我知道。

thnks

回答

0

在編寫查詢時,您將需要使用ORDER BY子句。對於這個特定的例子,你將需要ORDER BY Parent_ID,Order。這將返回按Parent_ID排序,然後按順序排序。

然後,您可以使用mysql_fetch_assoc()將結果集解析爲關聯數組。

由於您將有多個層次的層次結構,您必須在將結果集存儲在由層次結構組成的關聯數組中進行循環訪問結果集。

然後可以使用此數組在頁面上顯示適當的導航層次結構。