Php 从多个表更新多个值
我有两个名为“sales”和“rsales”的表 现在我有来自“销售”的ff数据 不要奇怪为什么我会复制pcode、total、折扣,这仅仅是因为当我“添加订单”或单击我的提交按钮时,它会以我上面所示的方式保存到tble“销售”中。我有这个代码与您分享如何更新我的tbl“销售”,它的工作非常好。我所做的是获取id。例如,我从“sales”获取id“1”,因此当我在下面运行查询时,更新id“1”,但也更新id“2”,因为它们是相同的“pcode”,这对我的查询来说是显而易见的。更新我的tbl“销售”没有问题 所以我的问题是我有这个ff代码来更新我的tbl“rsales” 我想要的是,当我更新tbl“sales”中的特定pcode时,tbl“rsales”也必须更新。比如说,我通过pcode 122将“sales”中的“total”更新,所以从20改为40,所以我的tbl“rsales”必须是这样的Php 从多个表更新多个值,php,mysql,Php,Mysql,我有两个名为“sales”和“rsales”的表 现在我有来自“销售”的ff数据 不要奇怪为什么我会复制pcode、total、折扣,这仅仅是因为当我“添加订单”或单击我的提交按钮时,它会以我上面所示的方式保存到tble“销售”中。我有这个代码与您分享如何更新我的tbl“销售”,它的工作非常好。我所做的是获取id。例如,我从“sales”获取id“1”,因此当我在下面运行查询时,更新id“1”,但也更新id“2”,因为它们是相同的“pcode”,这对我的查询来说是显而易见的。更新我的tbl“销售
id | pcode | total | sales_id|
2 | 122 | 40 | 2 |
3 | 122 | 40 | 3 |
4 | 321 | 30 | 4 |
5 | 321 | 30 | 5 |
但是我的查询显示了这个结果。Allvrow正在更新。我无法准确地更新“rsales”中的“total”,请帮助我。每个帮助都非常有用
id | pcode | total | sales_id|
2 | 122 | 40 | 2 |
3 | 122 | 40 | 3 |
4 | 321 | 40 | 4 |
5 | 321 | 40 | 5 |
尝试下面的方法。另外,根据您的表布局,您缺少
discount
列,我假设它在测试数据库中
UPDATE sales AS t1, rsales AS t2
SET t1.total = '$total_discount',
t2.total = '$total_discount',
t2.discount = '$tot'
WHERE t1.pcode = '$pcode'
AND t2.pcode = t1.pcode
顺便说一下,由于这一行,您正在修改所有行:
WHERE rsales.sales_id IN (SELECT sales.id FROM sales)
这里,您是说要更新rsales
,其中sales\u id
位于sales.id
字段中的(一个)。您正在提取所有sales.id
。如果您需要具体指定哪个id,请将其添加到上面查询的底部:
AND t1.id = '$id'
AND t2.sales_id = t1.id
还没有为你的DB制作模型,所以我没有测试它。可能重复哇!难以置信的先生!即使我做了,你也能完全理解我的要求,也许我不知道如何给你完整的细节。太棒了。没问题,别忘了喂极客!
UPDATE sales AS t1, rsales AS t2
SET t1.total = '$total_discount',
t2.total = '$total_discount',
t2.discount = '$tot'
WHERE t1.pcode = '$pcode'
AND t2.pcode = t1.pcode
WHERE rsales.sales_id IN (SELECT sales.id FROM sales)
AND t1.id = '$id'
AND t2.sales_id = t1.id