我正在为我公司的网站设计一个数据库。我想创建一个表,其中包含有关我们折扣的信息(逻辑),以便我可以使用discountID调用函数,我的PHP代码将计算新价格。我的问题是,每个折扣都有不同的逻辑。恩。 10折,10美元折扣,一送一,买3折50%......
如何将其存储在数据库中,以便我的代码可以自行计算折扣?
答案 0 :(得分:3)
数据库不存储逻辑 - 仅数据。将其拆分为三个字段:
因此,对于一个折扣,您可以存储以下内容:
| discount amount | discount type | buy one get one free | ---------------------------------------------------------- | 10 | 'percent' | |
另一方面,BOGOF适用:
| discount amount | discount type | buy one get N free | ---------------------------------------------------------- | | | 1 |
然后由PHP来接收这些值并采取相应的行动。
答案 1 :(得分:1)
您必须使用以下字段创建折扣表格,例如:
或者您可以为这些字段指定其他名称。根据价值观,您可能知道什么类型的折扣以及给予它的条件。
答案 2 :(得分:1)
这是我通常从多层方法开始的地方,因为它不仅用于计算,而且可以用于在实际网站上显示。我会从两张桌子开始。
Promotion Table
| id | discount_type | qty_products | discount_amount | free_products |
-----------------------------------------------------------------------
| 1 | BOGO | 2 | 0 | 1 |
Sales Promo
| id | promo_id | product_id | activation_date | expiration_date |
------------------------------------------------------------------
| 1 | 1 | 222 | '2012-04-23' | '2012-05-12' |
然后代码会查看它是否在日期范围内并应用折扣或B1G1 / B1G2。表格不是确切的,而是一个开始。