我想使用 php 和 mysql 实现类似的东西
如果客户有一个有奖励的帐户并且想要花费奖励,我如何更新表格,以便它将从表格中减去花费的奖励。
它肯定会根据 customer_id 获得奖励总和,然后减去已花费的奖励。如果第一行(奖励)小于花费值,它将减去所有值,然后转到下一行,获取与之前结果的差值,直到花费值等于0。
示例:
花费 = 60 id_客户 = 2
我有一张这样的 table
id | id_customer | reward
1 | 2 | 50
2 | 2 | 20
3 | 3 | 100
4 | 4 | 5
结果应该是这样的:
第一行:50(第一行的值)- 60 = 0(剩余 10) 第二行:20(第二行的值) - 10(第一行的剩余点数)= 0
id | id_customer | reward
1 | 2 | 0
2 | 2 | 10
3 | 3 | 100
4 | 4 | 5
希望这是有道理的。谢谢
最佳答案
这是我的解决方案的逻辑(当然,也许比这个更好): 获取该客户的行集 (id_customer = 2) 并循环返回的行。 在每次迭代中,将字段奖励的值与您想要减去的金额 (60) 进行比较。 如果实际值 >= 60,则更新该行并退出。如果不是,则将其更新为 0,更新剩余值(60 - 行值)并转到迭代中的下一项执行相同操作。
关于php - 有条件更新mysql中行的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25747375/