9007
56
對於此示例,我有一個HTML表,其中包含2行(可能更多)。中間列是可編輯的,HTML表中的每一行都是數據庫中的不同列。當我編輯第1行並刷新頁面時,第2行現在具有與第1行相同的值。我不希望這樣做。每行的用戶ID(pk)相同。有關創建新記錄的文檔說,這可以與更新現有記錄一起使用,但對我沒有幫助。我正在尋找盡可能多的幫助。
這是我桌子的圖片:
如何獲取每一行以保持其值而不更新其他所有行?
例如,如果我更新第1行中的列,則只希望更新第1行的列。
請幫忙!
這是我的代碼:
HTML代碼:
 
                                    
                                
OP在談論行,但實際上它是列。
$ accepted_names = array('fb_url','tw_url');
如果(in_array($ _ POST ['name'],$ accepted_names)){
if(!empty($ _ POST ['value'])){
$ value = $ _POST ['value'];
$ id = $ _POST ['pk'];
嘗試 {
$ stmt = $ db-> prepare('UPDATE social_preferences SET'。$ _POST ['name']。'=:值
WHERE user_id =:id');
$ stmt-> bindParam(':id',$ id,PDO :: PARAM_INT);
$ stmt-> bindParam(':value',$ value);
$ stmt-> execute();
}
捕獲(PDOExeption $ e){
迴聲json_encode(array('status'=>'failed','msg'=> $ e-> getMessage()));
出口;
}
迴聲json_encode(array('id'=> $ id,'status'=>'oké','msg'=> $ value));
}
別的 {
迴聲jsonencode(array('status'=>'failed','msg'=>'No value ....'));
}
}
別的 {
header($ _ SERVER ['SERVER_PROTOCOL']。'422無法處理的實體');
}
11
|
我假設您使用oracle SQL。
將要更新的所有用戶放在一個數組中,並使用foreach對其進行迭代。
對每個執行更新語句。
我不知道是否可以在一個語句中運行多個更新,但是我不這樣認為。
編輯:為確保僅影響一行,請盡可能使用唯一標識符,例如用戶ID。
5
|
實際上,您只需要遵循此處X表的文檔
X表
好的,這是一個信息標籤。
data-name =“您的數據庫中的字段列”
在數據pk中,您可以輸入多個PK。
現在,請嘗試以下示例。
HTML: