我遇到了需要帮助解决的问题。我并没有要求任何人提供代码,只是请我帮我考虑一下,使其适合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