当内容包含多个项目时,如何对字段内容进行分组?

时间:2014-01-16 15:55:58

标签: php

我有一个名为'products'的表,其中包含一个名为'features'的字段/列。功能以逗号分隔。所以拉几行会导致每个人都这样......

11,40,51,68

而另一个可能看起来像这样......

11,31,37,50

我希望能够显示每个数字,但结果'11'在两个字段之间是通用的。所以我只希望11出现一次。换句话说,没有重复。

我真的不确定从哪里开始...

$query="SELECT features FROM products WHERE ???";
list($xxxx)=mysql_fetch_array(mysql_query($query))

如何查询此内容以不显示重复项,并为每个数字组提供一个条目?

2 个答案:

答案 0 :(得分:0)

做得好。您需要额外的表格:

表“产品”:

product_id
product_name
product_price
... extra fields

表“功能”:

feature_id
feature_name
... extra fields

表“Product_features”:(您需要此表)

product_feature_id
product_id
feature_id

答案 1 :(得分:0)

试试这个:

$result = mysql_query("SELECT features FROM products");
$features = array();
while ($row = mysql_fetch_object($result)) {
    $features = array_merge($features, explode(',', $row->features));
}
$features = array_unique($features);
print_r($features);

如果有机会,@ Peter回答是最好的选择。