2015-10-28 111 views
0

我有一個窗體,其中有幾個選擇框和文本框從數據庫查詢中動態生成。 行數(表單生存在一個html表中)取決於從數據庫返回多少記錄。 例如:PHP/MySQL更新查詢

行1 - MUStatus(下拉),IPLAN(下拉),ATT(文本框) 行2 - MUStatus(下拉),IPLAN(下拉),ATT(文本框) 第3行 - MUStatus (下拉列表),IPLAN(下拉列表),ATT(文本框) ... ... ... 行10 - MUStatus(下拉列表),IPLAN(下拉列表),ATT(文本框)

不所有的行都會隨時更新。也許用戶獲得一個10行表單並只更新一個表單。 我的處理腳本需要循環遍歷所有行以確定哪一個已更改以便更新。這會導致 更新查詢運行10次,即使用戶只更新一行。 我怎樣才能讓它只更新表單上已更改的行數?

目前,這是我處理腳本(不sanatized呢。就在測試模式)

for($i = 0; $i < $_POST['totalRecords']; $i++){ 
    if($_POST['muStatus'] != $providerMUStatusArray[$i] ||   
     $_POST['att1IncentivePlanDropDown'!= $providerATT1IncentivePlanArray[$i] || 
     $_POST['att1AttestationNumber'!= $providerATT1NumberArray[$i]){ 
     UPDATE QUERY GOES HERE 
    }//END IF 
}//END FOR 

任何幫助表示讚賞

回答

0

我將創建一個會話,並保存你所期望的值。然後,當提交表單時,您只需檢查提交的值是否等於會話保存值。如果它不相等,則處理。

1

這是我該怎麼做的:我會在每一行中添加一個名爲「Updated」的隱藏字段,其起始值爲0,然後使用JQuery或JavaScript將其設置爲1,每次該行中的值爲改變。

更好的是,只要用戶完成編輯,我就會使用AJAX更新每一行。

+0

謝謝Sunknight0。我發誓我嘗試了jQuery路徑,但由於時間緊迫而不得不回到傳統的方式。 – Lorenzo99