如何输出产品变化

时间:2016-11-28 23:13:00

标签: php sql arrays while-loop

我想就如何最好地从数据库中输出多种产品及其变体提出一些建议。

我正在构建电子商务应用程序,需要输出一系列产品及其产品变体(颜色,大小)。

我的数据库有:

  • 表1:ProductID,ProductTitle,ProductImg,ProductCat
  • 表2:ProductID,ProductSize,ProductColour

ProductID上的外键

我目前的代码是:

<?php

$q = $_GET['cat']; // this pulls the category from URL param

include 'db_connect.php';

$result = mysqli_query($con, "SELECT DISTINCT a.ProductTitle, a.ProductImg, b.ProductColour 
                              FROM product_info AS a 
                                JOIN product_options AS b ON a.ProductID=b.ProductID 
                              WHERE a.ProductCat = '".$q."'");


while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {

    echo "<div class='product-display'>";

        echo "<img id='prodImage' src='Images/" . $row['ProductImg'] . ".jpg' alt='product photo'>";
        echo "<h3>" . $row['ProductTitle'] . "</h3>";
        echo "<h3>" . $row['ProductColour'] . "</h3>";

    echo "</div>";

}

?>

输出:

  • 产品1,颜色1
  • 产品1,颜色2
  • 产品2,颜色1
  • 产品2,颜色2
  • 产品3,颜色1
  • 产品3,颜色2

我希望它输出:

  • 产品1,颜色1,颜色2
  • 产品2,颜色1,颜色2
  • 产品3,颜色1,颜色2

实现这一目标的最佳方式是什么?

仅供参考 - 我的数组输出为:

  • 数组([ProductTitle] =&gt; Puffer Jacket [ProductImg] =&gt; 444 [ProductColour] =&gt; Aubern)
  • 数组([ProductTitle] =&gt; Puffer Jacket [ProductImg] =&gt; 444 [ProductColour] =&gt; Black)
  • 数组([ProductTitle] =&gt; Bander [ProductImg] =&gt; 111 [ProductColour] =&gt; Aubern)
  • 数组([ProductTitle] =&gt; Bander [ProductImg] =&gt; 111 [ProductColour] =&gt; Black)
  • 数组([ProductTitle] =&gt;舒服的[ProductImg] =&gt; 222 [ProductColour] =&gt; Aubern)
  • 数组([ProductTitle] =&gt;舒适的[ProductImg] =&gt; 222 [ProductColour] =&gt;黑色)

SOLUTION:

请参阅:

Parsing one col of multiple rows php

SQL JOIN - Need to return one product id but all variations of it (e.g. Size, colour)

这些答案很好......问题解决了。

0 个答案:

没有答案