Php 通过单击按钮更新MySQL表中的多行

Php 通过单击按钮更新MySQL表中的多行,php,html,mysql,Php,Html,Mysql,我已经做了好几个小时了,但是没有任何效果,所以非常感谢你的帮助 我有一个表格,动态填写需要主管批准的发票。我试图为主管创建一种功能,让其单击“全部批准”按钮,并使用每个发票的主管ID(在MySQL表中有自己唯一的作业ID)更新MySQL表列 我尝试过这样的方法:一个while循环,将每个作业ID放入一个数组;一个插入每个ID并使用“get”将其传递到另一个页面的循环,以及许多其他过于复杂的解决方案 似乎有一个简单的方法可以做到这一点,但我没有 因为什么都不起作用,所以我没有太多的代码要显示,但下

我已经做了好几个小时了,但是没有任何效果,所以非常感谢你的帮助

我有一个表格,动态填写需要主管批准的发票。我试图为主管创建一种功能,让其单击“全部批准”按钮,并使用每个发票的主管ID(在MySQL表中有自己唯一的作业ID)更新MySQL表列

我尝试过这样的方法:一个while循环,将每个作业ID放入一个数组;一个插入每个ID并使用“get”将其传递到另一个页面的循环,以及许多其他过于复杂的解决方案

似乎有一个简单的方法可以做到这一点,但我没有

因为什么都不起作用,所以我没有太多的代码要显示,但下面是将更新表的查询。这就是我用来批准一张发票的功能,我需要的是批准页面上显示的所有发票的功能

更新作业 设置作业\u approverid2='“$approverid.”
如果job_id=““$jobid.”

那么,简单的
更新
和一个条件应该可以:

UPDATE invoices SET approved = 1 WHERE .. condition ..
.condition..确定哪些发票获得批准,例如:

UPDATE invoices SET approved = 1 WHERE approved = 0
以批准所有未批准的发票。当然,
WHERE
子句可能更复杂,例如,要更新主管具有
id=23
的所有发票:

UPDATE invoices SET approved = 1 WHERE approved = 0 AND supervisor_id = 23
因此,在应用程序级别,您只需创建一个执行上述查询的页面,该页面可能具有如下url:

http://example.com/invoices/approve_all.php?supervisor=23

多行更新,我估计你有多个作业ID

$jobid = implode(',' ,$_POST['jobid']); // just example

UPDATE jobs SET job_approverid2='".$approverid."' WHERE job_id IN (".$jobid.");

我想这可能有用

"UPDATE jobs SET job_approverid2='".$approverid."' WHERE job_id = '".$jobid."' and job_approverid2!='".$approverid"'" 
或者你可以这样做

以数组的形式获取所有作业Id(比如$jobId[]),其中作业\u审批者Id 2=$审批人ID

然后


解释有点混乱。你能告诉我你的批准按钮在哪里吗?你向批准者展示了什么?你能在这里展示代码吗?这将有助于我们理解这个问题。您所做的解释不清楚。批准按钮位于我显示发票的表格下方。实际上没有任何代码可以显示,因为还没有任何代码可以工作。我已经为主管编写了一个程序,允许他们批准一张罚单,它将“批准”列更新为主管ID。但是,如何才能让不断变化的发票数量和发票ID自动执行此过程?只需用户单击一次?所有内容都保留在
更新
语句的上述
where
子句中。我猜你有一个类似于
的子句,其中invoice_id=X
,去掉它。如果您不向我们显示正在执行更新的代码,我们只能继续猜测它的外观以及让您感到困惑的内容,而没有真正的帮助。我刚刚编辑了问题以包含我正在运行的更新查询。请尝试:
update jobs SET job_approverid2='“$approverid。”“
这将在您的所有行上将
作业\u approverid 2
设置为
$approverid
,就是这样!非常感谢。
foreach($jobId[] as $job_id) {
 "UPDATE jobs SET job_approverid2='".$approverid."' WHERE job_id = '".$job_id."'"
}