如何在PHP中创建此数组?

用户名

属性数据库:

   cod_atr=1 value=Color 
   cod_atr=2 value=Size

每个属性数据库的值:

   cod_atr_val=1, cod_atr=1, value='Blue'
   cod_atr_val=2, cod_atr=1, value='Green'
   cod_atr_val=3, cod_atr=2, value='S'
   cod_atr_val=4, cod_atr=2, value='M'
   cod_atr_val=5, cod_atr=2, value='L'

我在寻找数组结果

$attr[0] = array('attr' => 'Color', 'values' => array('Blue', 'Green') ) ;
$attr[1] = array('attr' => 'Size', 'values' => array('S','M','L') ) ;

我尝试了以下方法,但我做得不太正确

$rs_attr = $DB->Execute(SQL);
while ($arrayattr = $rs_attr->FetchRow()){

   $rs_attr_values = $DB->Execute(SQL);
   while ($arrayattr_values = $rs_attr_values->FetchRow()) {

   }

}

有任何想法吗?谢谢

巴尔玛

使用SQL:

SELECT a.value AS attr, GROUP_CONCAT(v.value) AS `values`
FROM Attributes a
JOIN Values_of_Attributes v ON a.cod_atr = v.cod_atr
GROUP BY attr

然后您的循环将是:

$attr = array();
while ($row = $rs_attr->FetchRow()) {
    $row['values'] = explode(',', $row['values']);
    $attr[] = $row;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章