如何最有效地分组这些产品?

时间:2009-07-21 23:14:14

标签: php mysql arrays

我有两个描述数据库中产品的属性数组:

$sizes =   array(
                'Shirt Size' => array('Small', 'Medium', 'Large'),
                'Sleeve Size' => array('Short', 'Long')
                ); // Level 1
$colors =  array(
                'Shirt Color' => array('Black', 'Red'),
                'Sleeve Color' => array('White', 'Orange')
                ); // Level 2

上述数组的内容经常更改,在某些时候“颜色”或“大小”可能为空。

对这些属性进行分组的最有效方法是什么,所以我可以看到(例如)所有Small&短,黑&橙色产品?我不像计算属性分组机制那样计算每个属性组合的数量。

我想最终得到一张这样的表:

SHIRT SIZE    SLEEVE SIZE    SHIRT COLOR    SLEEVE COLOR    QTY
Small         Short          Black          White           6
Small         Short          Black          Orange          1
Small         Short          Red            White           4
Small         Short          Red            Orange          2
Small         Long           Black          White           3
Small         Long           Black          Orange          2
...
Large         Long           Red            Orange          5

1 个答案:

答案 0 :(得分:1)

嗯,实际最有效的方法是在应用程序代码中没有所有这些“产品属性”,但也要将它们放在数据库中。

然后,只是在查询中将表连接在一起的问题。

我很好奇,你现在的数据模型是什么样的?你如何实际存储尺寸/颜色/目前的任何信息?