Php 从多个表更新多个值

Php 从多个表更新多个值,php,mysql,Php,Mysql,我有两个名为“sales”和“rsales”的表 现在我有来自“销售”的ff数据 不要奇怪为什么我会复制pcode、total、折扣,这仅仅是因为当我“添加订单”或单击我的提交按钮时,它会以我上面所示的方式保存到tble“销售”中。我有这个代码与您分享如何更新我的tbl“销售”,它的工作非常好。我所做的是获取id。例如,我从“sales”获取id“1”,因此当我在下面运行查询时,更新id“1”,但也更新id“2”,因为它们是相同的“pcode”,这对我的查询来说是显而易见的。更新我的tbl“销售

我有两个名为“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”必须是这样的

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