0
각 속성을 속한 속성 아래에 배치하여 속성과 값을 함께 인쇄하는 방법은 무엇입니까? 하나의 속성과 아래에 여러 개의 값이 있습니다.값이있는 제품 속성 인쇄
//i can have the array the normal way if it helps, like [0] => Red...
[attribute] => Array
(
[0] => Array
(
[Colour] => Red
)
[1] => Array
(
[Colour] => Blue
)
[2] => Array
(
[Colour] => Green
)
[3] => Array
(
[Size] => Small
)
[4] => Array
(
[Size] => Medium
)
[5] => Array
(
[Size] => Large
)
)
여러 속성 대신 하나의 속성과 함께 표시되는 값을 반환하여 쿼리에서 수행 할 수 있다면 좋습니다. 그러나이 작업은 배열 키를 한 번 인쇄 한 다음 값을 인쇄하여 수행하는 것이 좋습니다. 그 값을 +1 할 것입니다.
SELECT `attribute`, `value`
FROM (`attribute_value`)
JOIN `product_attr_value` ON `product_attr_value`.`attribute_value_id` = `attribute_value`.`id`
JOIN `products` ON `products`.`id` = `product_attr_value`.`product_id`
WHERE `products`.`item_name` LIKE '%qwe2%'
편집 :
SELECT attribute, group_concat(`value`)
FROM attribute_value av JOIN
product_attr_value pav
ON pav.attribute_value_id = av.id JOIN
products p
ON p.id = pav.product_id
WHERE p.`item_name` LIKE '%qwe2%'
group by attribute;
:
foreach ($attr_value as $val)
{
echo $val['attribute'] ."<br>";
$values = $val['group_concat(`value`)'];
$value = explode(",", $values);
echo $value."<br>";
}
좋아, 이걸 알아 내려고했지만 먼저, 중복 되 고있어. 내가 pav.attribute_value_id로 그룹을 시도했는데, 그게 내가 처음 결과를 얻었 기 때문이긴하지만 작동하지 않습니다. 둘째로 나는 값을 출력하는 것처럼 보이지 않는다. EDIT를 한번보세요. – ethio
@ethio. . . 이 쿼리를 시도 했습니까? 나는'pav.attribute_value_id'가 그 테이블에있는 각 행의 유일한 ID라고 생각합니다. 그것으로 모으는 것은 당신이 원하는 것을하지 않을 것입니다. –
예, 서로 섞인 여러 속성의 값을 중지하고 중복을 중지하는 데 사용했습니다. pav.attribute_value_id는 특정 속성 및 값에 대한 attribute_value의 기본 키입니다. – ethio