Php 折扣计算
我目前正在为我公司的网站设计一个数据库。我想创建一个表,它将保存有关我们折扣的信息(逻辑),这样我就可以用折扣ID调用一个函数,我的php代码将计算新的价格。我的问题是,每个折扣都有不同的逻辑。例:10%折扣,10美元折扣,一送一,三买五折Php 折扣计算,php,discount,Php,Discount,我目前正在为我公司的网站设计一个数据库。我想创建一个表,它将保存有关我们折扣的信息(逻辑),这样我就可以用折扣ID调用一个函数,我的php代码将计算新的价格。我的问题是,每个折扣都有不同的逻辑。例:10%折扣,10美元折扣,一送一,三买五折 如何将其存储在数据库中,以便代码能够自行计算折扣?数据库不存储仅逻辑数据。将此字段分为三个字段: 折扣金额(整数) 折扣类型(枚举;可能的值:“百分比”、“金额”) 买一送N(int;每买一件免费的数字) 因此,对于一个折扣,您可以存储以下内容: | d
如何将其存储在数据库中,以便代码能够自行计算折扣?数据库不存储仅逻辑数据。将此字段分为三个字段:
- 折扣金额(整数)
- 折扣类型(枚举;可能的值:“百分比”、“金额”)
- 买一送N(int;每买一件免费的数字)
然后将由您的PHP接收这些值并相应地采取行动。您必须创建带有以下字段的折扣表,例如:
也可以为字段指定其他名称。根据价值,您可能知道什么类型的折扣以及给予折扣的条件。这是我通常从多层方法开始的地方,因为它不仅用于计算,而且可能用于在实际网站上显示。我从两张桌子开始
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。表不是精确的,而是一个开始。
折扣类型(百分比折扣、金额折扣、买一送一等)、折扣值(…)
,然后添加一些代码…尚未编写代码-首先设计数据库。但我正试着提前考虑。也许你可以为买X送Y免费/get Z%优惠推广更多。这并不是一个详尽的答案——我只是想让他说对话,也就是说,把逻辑排除在数据库之外。似乎我应该有一个表,其中有大量列指定所有逻辑。折扣类型、折扣装载、过期日期、促销代码……很多列不一定是坏事。这是数据库正常化的标志。(这也意味着在必要时分为不同的表)。不要认为数据库是存储逻辑的——它们不是。它们存储数据。您的环境(例如PHP)符合逻辑。我希望能够不断添加新的折扣和优惠券,而无需每次更改或重写代码。我只需要在数据库中输入一些数据,它就可以运行了。那么逻辑在哪里呢?谢谢你的耐心。谢谢。但是B1G1/B1G2是什么意思?@Diane B1G1-买一个/买一个B1G2-买一个/买两个