在父母和子女类别中建立关系

时间:2013-11-17 09:28:14

标签: mysql parent-child

我一直在为精品店开发一个网站。

他们的要求是:

  • 他们有三个类别,产品可以添加到三个中。

的示例:

                    Jackets
        Men           -             Women
        |                             |_Top,Jackets, Bags,Pants.
        |
     Jackets, Pants, Shirts.....

现在这很容易,但这是一个复杂的部分。

他们还有其他类别:

的示例:

Bavarian Garments
    ||

Products1
Products2
  ....
   ...
   ...

请帮我制作数据库结构。!

2 个答案:

答案 0 :(得分:1)

聆听您是否有限制等级:

SELECT *....
FROM category AS level1
LEFT JOIN category AS level2 ON (c2.category_id = c1.id)
LEFT JOIN category AS level3 ON (c3.category_id = c2.id)
...
WHERE c1.category_id = 0

如果您对孩子的数量没有限制:

- 编写一个mysql递归函数。然后获取所有mysql数据并使prog /下的父/子匹配。语言(即php).save某处(如果你有某个配置表)你拥有的级别数,并实现一个查询字符串生成器,为给定数量的级别创建查询字符串。在每次更新/插入时,您应该检查是否更改了级别数并存储它。

答案 1 :(得分:0)

鉴于商店有类别和产品,我会把数据库放在这样:

三个表:productscategoriesproductCategories

products包含所有与产品相关的信息,categories具有类别的名称,最后productCategories作为仅包含列(productId和{{的联结表1}}作为主要)。

根据您的需求categoryId可能会有一个名为categories的列(用于排列树类等类别),或者可以parentIdlft实施the nested set model }列。