2015-09-28 75 views
0

我試圖讓這個查詢工作,基本上它的CSV導出的一些產品的屬性分佈在多個表中。 我設法得到我需要的所有東西,除了產品可能具有的附加圖像之外,這些圖像位於單獨的表格中,每個產品的每個圖像都是該表格中的新行。 以下是我對現在我該如何group_concat這個?

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,但在該表中每個附加產品圖像有多行,其中一些圖像沒有附加圖像,我如何使用group_concat或其他方式製作$row如果它們存在於每個產品中,則附加這些圖像中的每一個。圖像在列"image_url"

product_id image_url 

    22   none.jpg 
    22   abcd.jpg 
    22   cdfg.jpg 

回答

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']' 
} 

然後我相信我可以得到這些圖像的每個產品,並在我的其他陣列使用它們,r飛行?