php - 更改购物车中的默认货币

标签 php mysql shopping-cart

如果这个问题看起来可能重复,我很抱歉。请将我链接到原件。

我正在用 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 中为 type2type3。但是,如果您希望在更新默认 CurrencyType 时更新 Product 表中的实际值,而不仅仅是它们向用户显示的方式,那么您将必须更新这两个表。

幸运的是,SQL 使这一切变得非常简单,因为您实际上所做的只是将当前 Rate 值乘以您要将其更改为的 ConversionRate。因此,如果您有一个 php 变量存储新 CurrencyTypeConversionRate,然后再将其设置为默认值:

UPDATE Product
SET Rate = Rate * oldConversionRate

应该使用新的 Product 费率更新 Product 表中的所有行。让我知道这是否措辞令人困惑,或者您想要更多说明。

关于php - 更改购物车中的默认货币,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11814043/

相关文章:

mySQL插入太长的varchar时出错,什么时候引入的?

MySQL数据库设计。在 1to1 表中插入行。

mysql - 在 mysql 中存储数据的最佳方法?

javascript - 链接在 jQuery 中失去作用

javascript - 使用 JQuery 计算购物车

php - 正则表达式,preg_match_all模式中的反向引用问题

php - Laravel 5 在选择查询中选择

php - PayPal:不同用户的多次付款 - PHP

php - Nginx 服务器的 CodeIgniter URL 重写

javascript - 匿名函数错误 : $ is not defined