【问题标题】:How do I get all available colors displayed on the product page?如何在产品页面上显示所有可用颜色?
【发布时间】:2014-05-09 12:43:48
【问题描述】:

我正在建立一个购物网站。我的数据库设计设置如下:

tblProducts       tblSizes   tblColors   tblImages    tblSpecific_Products
id                id         id          id           id        
product_name      size       color       image        product_id  (FK)                                            
style_code                                            size_id (FK)                                                                                                                                        
price                                                 color_id (FK)                                                                                                       
                                                      image_id (FK)                                                   

谁能告诉我如何在通用产品页面上显示所有可用颜色?

【问题讨论】:

    标签: php mysql database colors shopping


    【解决方案1】:

    如果我没记错的话,您是要求查询特定产品的所有可用颜色。那样的话,如果你通过SQL导师你会自己得到。

    这是怎么做的,

    SELECT color FROM tblColors WHERE id IN (SELECT color_id FROM tblSpecificProducts WHERE product_id=<YOUR-PRODUCT-ID>)
    

    如果您希望在一般产品显示页面上显示所有可用颜色,则每个产品显示所有可用颜色,然后遍历所有产品 ID。

    【讨论】:

    • 谢谢阿伦。我实际上希望每个产品的所有可用颜色都显示在一般产品显示页面上(而不是在特定产品页面上)。现在我只能为一种产品获得一种颜色,但如果该产品具有多种颜色,则不能获得所有颜色。如果我能做到这一点,那么我知道如何在我的特定产品页面上工作。你能帮忙吗?
    • 这是我对产品表的查询。 SELECT id,product_name,style_code,color,price,category FROM products WHERE category='$category' ORDER BY date_added DESC。它用于显示所有一般产品的 category.php 页面。我搜索并尝试了几天,但无法弄清楚如何在此页面上显示所有颜色。 :(
    • 对您的要求无评论。我建议您学习 SQL 并了解自己的要求和我的回答...我想知道您的查询是如何工作的,以获取可以迭代的产品 ID 列表,正如我所说的,您可以使用“SELECT id FROM tblProducts" 使用此结果并迭代正在回答的查询。我不明白按 date_added 排序,因为我没有看到任何日期属性。
    • 很抱歉让你混淆了阿伦。我的产品表包括 id(PK)、product_name(UK)、style_code(UK)、color、price、category(dresses、tops、bottoms)、description 和 date_added。我认为将它们全部列出并不重要,但我错了。对不起。我的 category.php 以 if (isset($_GET['category'])){ include_once("db_connect.php"); 开头$category=preg_replace('#[^A-Za-z]#i', ' ', $_GET['category']); $sql = mysqli_query($db_connect, "SELECT * FROM products WHERE category='$category' ORDER BY date_added DESC");
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-28
    • 1970-01-01
    相关资源
    最近更新 更多