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

时间:2013-01-24 06:31:14

标签: php html mysql

我已经在这里工作了几个小时,没有任何工作,所以非常感谢你的帮助。

我的表格动态地填充了需要主管批准的发票。我正在尝试为主管创建一个单击“批准”全部按钮的功能,并使用每个发票(在MySQL表中具有自己唯一的作业ID)的主管ID更新MySQL表列。 / p>

我尝试过诸如:while循环,将每个作业ID放在一个数组中,一个循环插入每个ID并使用'get'将其传递给另一个页面,以及许多其他过于复杂的解决方案。

似乎有一种简单的方法可以解决这个问题。

因为没有任何工作,我没有很多代码可以显示,但这里是将更新表的查询。这是我用来批准单一发票的,我需要的是能够批准页面上显示的所有发票。

更新工作 SET job_approverid2 ='“。$ approverid。”' WHERE job_id ='“。$ jobid。”'

3 个答案:

答案 0 :(得分:0)

嗯,带条件的简单UPDATE应该这样做:

UPDATE invoices SET approved = 1 WHERE .. 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

答案 1 :(得分:0)

多行更新,我想你有多个job_ids

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

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

答案 2 :(得分:0)

我认为这可能有效

"UPDATE jobs SET job_approverid2='".$approverid."' WHERE job_id = '".$jobid."' and job_approverid2!='".$approverid"'" 

或者你可以这样做

将所有作业ID作为一个数组(让我们说 $ jobId [] ),其中 job_approverid2!= $ approverid

然后

foreach($jobId[] as $job_id) {
 "UPDATE jobs SET job_approverid2='".$approverid."' WHERE job_id = '".$job_id."'"
}