我试图让这个查询起作用,基本上它是一些产品的CSV导出,其属性分布在多个表中。 我设法获得了我需要导出的所有内容,除了产品可能具有的其他图像,这些图像位于单独的表中,每个产品的每个图像都是该表中的新行。 这就是我现在所拥有的
SELECT DISTINCT p.product_id,
pd.name,
cd.name AS catname,
pd.description,
p.price,
pa.text AS qty,
p.mimage,
ps.price AS pricespecial
FROM product p
LEFT JOIN product_description pd
ON p.product_id = pd.product_id
LEFT JOIN product_to_category p2c
ON p.product_id = p2c.product_id
LEFT JOIN category_description cd
ON p2c.category_id = cd.category_id
LEFT JOIN product_attribute pa
ON p.product_id = pa.product_id
LEFT JOIN product_special ps
ON p.product_id = ps.product_id
我使用while($row = $result->fetch_assoc()){ fputcsv($f,$row);
制作CSV。现在我还需要将$row
中的其他图片转换为CSV,但是在该表格中,每个附加产品图片都有多行,其中一些没有其他图片,我该如何使用{{ 1}}或其他一些方法使group_concat
附加每个图像,如果它们存在于每个产品中。图像位于$row
列中,如
"image_url"
答案 0 :(得分:0)
所以我设法简化了一下。
基本上我正在使用
while($row = $result->fetch_assoc()){
然后我创建一个数组并将我的行放在那里
$values = array($row['product_id'],$row['name'],$row['catname'],$row['description'],etc);
如何在while循环中构造一个类似
的foreach循环foreach $row['product_id'] {
$sql = "SELECT GROUP_CONCAT(images) FROM table WHERE product_id='$row['product_id']'
}
然后我相信我可以为每个产品获取这些图像并在其他阵列中使用它们,对吗?