0

PHP経由で実行する次のクエリがあります。

select 
    {$tableProducts}.*,
    {$tableImages}.*
from {$tableProducts}
left join {$tableImages}
    on {$tableImages}.product_id = {$tableProducts}.product_id
group by {$tableProducts}.product_id;

各製品 (製品テーブルから) には、複数の画像 (画像テーブル内) を含めることができます。シンプルな while ステートメントを使用して結果をループします。

while($row = $results->fetch_object()) {
    echo $row->product_name; // Product table
    echo $row->image_src; // Image table
}

問題:各商品の最初の画像しか印刷されていませんが、すべて表示したいです。「order by」部分を削除するとすべての画像が印刷されますが、各画像に対して product_name が 1 回印刷されます (したがって、1 つの製品に 3 つの画像がある場合、product_name も 3 回印刷されます)。

これをどのように解決するのが最善ですか?

4

1 に答える 1