2016-03-05 47 views
0

RDBMS:MySQL顯示來自Mysql的產品PHP

我正在設計在線商店,需要一些幫助來顯示產品的類別頁面。假設有100個產品,每個產品有1-3個圖像。

我需要顯示所有產品,但也需要顯示每個產品的多個圖像。 我無法找到正確顯示的方法。

數據庫模式:

enter image description here

我可以通過它檢索數據作爲一個數組和循環,但如果我加入了表與所有我要的圖像能與不同的檢索重複的行在每個圖像。我無法理解在查看所有產品時如何顯示每個產品的多個圖像。

讓我知道你是否希望我進一步闡述。 在此先感謝!

+0

什麼是您有問題的代碼? – k0pernikus

回答

0

您可以使用group_concat() Mysql函數一次性獲取所有圖像,而不會複製記錄。以下示例顯示相同。

select p.product_id, p.product_name, group_concat(pi.image_path) 
from procuct p join product_images pi on p.product_id = pi.product_id 
group by p.product_id, p.product_name 

這會給你所有的路徑作爲逗號分隔列表以及每個產品記錄。

1

寫兩個單獨的查詢從數據庫中提取數據: -

  1. 抓取所有從數據庫中的產品,然後將它們顯示到頁面
  2. 第二個查詢:取基於產品ID的圖像。如果你想做一些奇特的事情,你可以使用Java腳本來旋轉圖像。

讓我知道你是否需要進一步的幫助。謝謝!

+0

感謝您的回答! – thefakeslimshady

+0

歡迎您:) – Kamamba

0

使用此查詢:

select products.*,GROUP_CONCAT(image_path) 
form products 
LEFT JOIN product_images on products.product_id = product_images.product_id 
GROUP BY product_images.product_id 

你會得到的產品逗號分隔的結果圖像 然後爆炸的逗號分隔的PHP圖像和顯示。