如果这个问题看起来可能重复,我很抱歉。请将我链接到原件。
我正在用 php 和 mysql 开发一个购物车。
在管理面板中,可以设置多种货币类型,也可以添加新的货币类型。它将具有默认货币和覆盖率。 我的问题是在更改默认货币类型时。
这是我的表格的样子
**Currency**
------------------------------------------------------------------------------
ID CurrencyType ConversionRate IsDefault
------------------------------------------------------------------------------
1 type1 - y
2 type2 2.0 n
3 type3 3.0 n
------------------------------------------------------------------------------
**Product**
------------------------------------------------------------------------------
ID Rate
------------------------------------------------------------------------------
1 100
2 200
------------------------------------------------------------------------------
此处产品 1 的价格为
(100) for currency type1
(100 * 2.0) for currency type2
(100 * 3.0) for currency type3
在管理面板中,将根据默认货币类型添加兑换率。
在这里,在更改默认类型时,我可以更新货币表中的兑换率。 但我必须更新产品表中的费率。更改产品表中所有产品的费率,让我觉得我错了。
还有其他更好的方法吗?请指教。
最佳答案
既然我理解了您的问题,我相对确定您必须更新这两个表。如果您只是想以不同的转换率向用户显示表格但保持基础成本相同,那么您始终可以将值存储在 CurrencyType
type1
中,但转换当显示给用户时,它在 php 中为 type2
或 type3
。但是,如果您希望在更新默认 CurrencyType
时更新 Product
表中的实际值,而不仅仅是它们向用户显示的方式,那么您将必须更新这两个表。
幸运的是,SQL 使这一切变得非常简单,因为您实际上所做的只是将当前 Rate 值乘以您要将其更改为的 ConversionRate。因此,如果您有一个 php 变量存储新 CurrencyType
的 ConversionRate
,然后再将其设置为默认值:
UPDATE Product
SET Rate = Rate * oldConversionRate
应该使用新的 Product
费率更新 Product 表中的所有行。让我知道这是否措辞令人困惑,或者您想要更多说明。
关于php - 更改购物车中的默认货币,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11814043/