簡體   English   中英

從Mysql PHP顯示產品

[英]Displaying Products from Mysql PHP

RDBMS:MySQL

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

我需要顯示所有產品,但每個產品也需要顯示多個圖像。 我在尋找正確顯示它的方法時遇到了麻煩。

數據庫架構:

在此處輸入圖片說明

我可以將數據作為數組檢索並循環遍歷,但是如果我將表與所有圖像連接在一起,我將獲得重復的行,並在每個行中檢索不同的圖像。 查看所有產品時,我很難理解如何為每個產品顯示多個圖像。

讓我知道您是否希望我進一步闡述。 提前致謝!

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

  1. 從數據庫中獲取所有產品,然后將它們顯示在頁面上
  2. 第二個查詢:基於ProductID獲取圖像。 如果您想做一些花哨的事情,可以使用Java腳本旋轉圖像。

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

您可以使用group_concat() Mysql函數group_concat()獲取所有圖像,而無需復制記錄。 下面的示例顯示相同。

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

這將為您提供所有路徑(以逗號分隔的列表)以及每個產品記錄。

使用此查詢:

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中分解這些逗號分隔圖像並將其顯示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM