2013-12-20 82 views
1

我正在將產品添加到數據庫中,它有3個表,分別是products,product_imagescategories。現在我正在使用連接在前端和後端顯示。我使用一個查詢,它工作正常,直到表中每個產品只有一個圖像。但現在我有單個產品的多個圖像,所以如何修改我的查詢任何建議謝謝。顯示來自數據庫的單一圖像

$sql = "SELECT p.id,p.product_title,p.product_price,p.product_quantity,p.status, 
     pi.product_img, 
     c.cat_name 
     FROM product p 
     LEFT JOIN product_images pi ON pi.product_id = p.id 
     LEFT JOIN categories c ON c.id = p.category_id 
    "; 

如果我使用此查詢它取決於有多少圖像product_images表是否有顯示多個時代的產物。現在我想2 different queries一個用於後手,我必須只顯示一個圖像和一個前端,我必須顯示所有圖像。再次感謝。

回答

1

要使用GROUP_CONCAT顯示所有圖片...

$sql = "SELECT p.id,p.product_title,p.product_price,p.product_quantity,p.status, 
    GROUP_CONCAT(pi.product_img SEPARATOR ', '), 
    c.cat_name 
    FROM product p 
    LEFT JOIN product_images pi ON pi.product_id = p.id 
    LEFT JOIN categories c ON c.id = p.category_id 
    GROUP BY p.id,p.product_title,p.product_price,p.product_quantity,p.status, c.cat_name 
"; 

要顯示一個圖像,您可以使用MINMAX

$sql = "SELECT p.id,p.product_title,p.product_price,p.product_quantity,p.status, 
MIN(pi.product_img), 
c.cat_name 
FROM product p 
LEFT JOIN product_images pi ON pi.product_id = p.id 
LEFT JOIN categories c ON c.id = p.category_id 
GROUP BY p.id,p.product_title,p.product_price,p.product_quantity,p.status, c.cat_name 
"; 
+0

由於很多公司工作的偉大 –

+0

高興它幫助。如果你能夠,請標記爲已回答:) –

相關問題