2013-01-24 33 views
0

我一直在這個小時,沒有任何工作,所以你的幫助是非常感激。用按鈕單擊更新MySQL表中的多行

我有一張動態填寫需要主管批准的發票的表格。我試圖爲主管創建單擊「批准」全部按鈕的能力,併爲每個發票(其在MySQL表中具有其自己的唯一工作ID)使用主管的ID更新MySQL表列。

我已經嘗試了以下方法:將循環中的每個作業ID放入數組中,循環插入每個ID並使用'get'將其傳遞到另一個頁面,以及其他一些過於複雜的解決方案。

這似乎有一個簡單的方法來做到這一點,我錯過了。

因爲沒有任何工作,我沒有很多代碼來顯示,但這裏是將更新表的查詢。這是我用來批准單張發票的內容,我需要的是能夠批准頁面上顯示的所有發票。

更新作業 SET job_approverid2 = ' 「$ approverid。」' WHERE JOB_ID = ' 「$作業ID。」'

+0

說明有點混亂。你能說出你在哪裏批准按鈕,你向審批者顯示什麼? – ksg91

+0

你能在這裏顯示代碼嗎?這將有助於我們理解這個問題。你所做的事情的解釋並不清楚。 – Kangkan

+0

批准按鈕位於顯示發票的表格下方。實際上沒有任何代碼可以顯示,因爲甚至沒有任何代碼可以接近工作。 –

回答

0

多行更新,我asuming您有多個job_ids

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

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

就是這樣!非常感謝。 –

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 

因此,在應用層面上,你只需要創建一個執行上面的查詢頁面,它可能有一個像網址:

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

我已經爲主管設定了批准單張票券的功能,在此將批准的列更新爲主管的ID。然而,我怎樣才能讓程序自動發生變化的數量的發票和發票ID - 只需點擊一下用戶? –

+0

它全部停留在'UPDATE'語句的上述'WHERE'子句中。我想你有一個像WHERE invoice_id = X'這樣的子句,把它拿出來。如果您沒有向我們展示正在進行更新的代碼,我們只能繼續猜測它的外觀和難題,而沒有真正的幫助。 –

+0

我剛剛編輯了問題以包含我正在運行的更新查詢。 –

0

我想這可能工作

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

,否則你可以像這樣

得到的所有作業ID作爲數組(可以說$作業ID []),其中job_approverid2!= $ approverid

然後

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