我遇到了需要帮助解决的问题。我并没有要求任何人提供代码,只是请我帮我考虑一下,使其适合MySQL,因为我的MySQL技能非常非常有限。

我们正在尝试创建一个可以通过PHP调用的产品数据库。我没有为层级定价设置数据库的问题。有些产品的起价为100,并且多次跌价至5,000,而其他产品的起价可能为10,而最终达到100。因此,执行此操作的最佳方法是什么,可以从PHP循环中插入它作为HTML表进入页面。

到目前为止,我的数据库是:

产品ID,
产品名称,
产品图片
ProductImage2,
ProductImage3,
ProductImage4,
产品描述,
产品杂项
ProductPricing(这是我需要帮助的地方)。


我是否需要创建一个单独的表,该表通过具有数量和价格的ProuctID进行链接?任何帮助将不胜感激。

最佳答案

使用定价表:

ItemQuantityPrices  (priceID, itemID, minQuantity, maxQuantity, price)


例如

Apples:
  1-100,   $5.00 each -> (1, apples, 1, 100, $5.00)
  101-250, $4.50 each -> (2, apples, 101, 250, $4.50)
  251-300, $4.00 each -> (3, apples, 251, 300, $4.00)


您的查询将是,例如“如果我购买252个苹果,多少钱?”:

SELECT price
FROM ItemQuantityPrices
WHERE itemID = 'apples'
    AND 252 BETWEEN minQuantity AND maxQuantity

--> $4.00


或者,“如果我想支付4.75美元或更少的价格,我必须购买多少个苹果?”

SELECT minQuantity, maxQuantity
FROM ItemQuantityPrices
WHERE itemID = 'apples'
   AND price <= $4.75
ORDER BY price DESC
LIMIT 1

--> 101, 250

08-26 08:20