0

我已经在这里工作了几个小时,但没有任何效果,因此非常感谢您的帮助。

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

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

似乎有一种我缺少的简单方法可以做到这一点。

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

更新作业 SET job_approverid2='".$approverid."' WHERE job_id = '".$jobid."'

4

3 回答 3

0

好吧,UPDATE带条件的简单应该做到这一点:

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
于 2013-01-24T06:36:47.427 回答
0

多行更新,我假设你有多个 job_ids

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

UPDATE jobs SET job_approverid2='".$approverid."' WHERE job_id IN (".$jobid.");
于 2013-01-24T07:14:14.810 回答
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."'"
}
于 2013-01-24T07:29:45.703 回答