2013-02-25 49 views
0

我有一個表,看起來像這樣:打開SQL表到文件夾結構

|--ID--|--folder_id--|parent_folder_id|--group_id--| 
|--01--|------1------|------null------|-parent-----| 
|--02--|------2------|-------1--------|-group_id_1-| 
|--03--|------3------|-------2--------|-group_id_2-| 
|--04--|------4------|-------2--------|-group_id_3-| 
|--05--|------5------|-------4--------|-group_id_4-| 

我需要把它變成一個文件夾結構,每個文件夾列有PARENT_ID = NULL顯示該文件夾下!與folder_id = parent_id。我需要以一種理智的方式來做到這一點,並不知道如何去做這件事。創建後,我將添加與行的group_id對應的項目。

最終,我需要把SQL表到一個數組,看起來像這樣:

$folders["parent"] = array["folder_id_2"] (
    array["folder_id_3"](file 1, file2); 
    array["folder_id_4"](
     array["folder_id_5"](file 3, file 4), 
     file 5 
    ); 
    file 6 
); 
+1

什麼是「文件夾結構?」我們是在談論視覺表示還是程序化的(PHP)? – 2013-02-25 03:56:43

+0

我認爲他意味着他想要將目錄寫入文件系統,遵循這個層次結構。德魯,糾正我,如果我錯了。 – thomasrutter 2013-02-25 04:01:20

+0

數組會更好。我編輯了這個問題,使其更清晰。 – Drew 2013-02-25 14:30:04

回答

0

我可能無法創造你想要的陣列。但是,如何嘗試替代解決方案?使用樹結構。這裏是我會做什麼:

  1. 申報class Folder包含$parent$files屬性。 $parent用於引用父對象Folder,而$files將是文件數組。
  2. 迭代數據庫記錄並實例化每行中的對象Folder
  3. 將每個Folder對象的'$parent屬性設置爲引用父對象的Folder對象。

這樣就可以得到樹形的文件夾結構。