24588
16571
对于此示例,我有一个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 =“您的数据库中的字段列”
data-pk =“ your primary key”在数据pk中,您可以输入多个PK。
现在,请尝试以下示例。
HTML: