2011-11-15 128 views
0

我有一個具有無限子類別和產品的類別樹。我想搜索某個類別的產品,包括所選貓的子類別中的產品。MySQL分類層次結構搜索

P.S.我接受PHP解決方案。

這是我的表格。

`cat` (
    `id` int(8) NOT NULL AUTO_INCREMENT, 
    `title` varchar(255) COLLATE utf8_general_ci NOT NULL, 
    `parent` int(8) NOT NULL DEFAULT '0', 
    PRIMARY KEY (`id`) 
) 

`product` (
    `id` int(8) NOT NULL AUTO_INCREMENT, 
    `title` varchar(255) COLLATE utf8_general_ci NOT NULL, 
    `cat` int(8) NOT NULL DEFAULT '0', 
    PRIMARY KEY (`id`) 
) 

回答

0

嵌套集合是這樣 http://www.fliquidstudios.com/2008/12/23/nested-set-in-mysql/ (從谷歌搜索「嵌套組的MySQL PHP」找到了一個隨機結果)的一個非常標準的方式

你批量計算上一些額外的列您類別表,然後對所有「子類別」(以及子子類別:)進行查詢變得容易。

+0

請注意,如果您正在使用SQL數據庫,嵌套結構是一個巨大的難題。 – NullUserException

+0

有點含糊,對他們有什麼痛苦?對我來說,至少他們工作得很好。 – barryhunter

+0

插入和刪除是痛苦的。 – Bytemain