我想這對於構建任何類型的應用程序來說是相當普遍的需求,這些應用程序依賴於類別的排序和顯示數據 - 任何CMS /論壇/購物車等,我一直在試圖思考的一種方式來顯示所有類別和他們的孩子無濟於事 - 我已經管理的最好的while while循環while while循環(但是我認爲我可能需要很多級別),但是這在我看來打敗了編程點,它需要毫不費力地可擴展。顯示無限分類結構 - >子分類 - >等等?
因此,考慮到:
Category 1
-Sub cat
-Sub cat
--Sub sub cat
--- Sub sub cat
-- Sub sub cat
-Sub cat
Category 2
-Sub cat
-Sub cat
--Sub sub cat
---sub sub sub cat
----sub sub sub sub cat
-sub cat
Category 3
-Sub cat
數據庫字段:ID名稱ParentIDS
你怎麼會去從數據庫呼應每個類別中的層次?
我會發布我的代碼,但顯然它的龐大,給出了嵌套循環的長期方式。
我想過編寫一些代碼,可以找到類別樹的「深度」,但仍然不能削減它..想法?
啊,這很好......我用我的嵌套while循環的一半,這只是我最初瞄準的邏輯類型。謝謝。 :D ...我看了一下嵌套層次結構的mysql文章,儘管它起作用,但對於可以實現的目標來說,它看起來很囉嗦。 – Anonymous 2011-06-02 10:54:01
我沒有讀過嵌套集合模型,因爲我對MySql沒有興趣。使用ORM獲取父 - >子或父 - 子關係通常相當容易,或者通過將數據投入到層次結構並以這種方式遍歷它。決定你認爲哪個更好,然後去用它。 – 2011-06-02 11:01:48
@Chris,真的是它的表現。如果您以樹形式獲得大量數據,那麼您將花費額外的時間爲數據庫以適當的形式建模該數據。如果你需要做很多像樹一樣的操作,它也會對你有益。如果你有100個左右的數據(我選擇了一個隨機數),那麼將所有數據轉換爲代碼並操作它仍然很快,但沒有在數據庫中建模的複雜性。如果你只是想顯示你的數據,那麼我寫的方法將會很好, – 2011-06-02 11:05:41