【问题标题】:Codeigniter - Why Update_batch only one line is changedCodeigniter - 为什么 Update_batch 只更改了一行
【发布时间】:2019-04-05 10:01:41
【问题描述】:

我有一个表格示例

ID | answer1 | answer2   | question

1  | abc   | ghi    | 

2  | def   | klm    |

我想通过选择 ID 更新列问题 这是我获取 ID 表格示例的代码

$query = $this->db->query('SELECT * FROM example');
    $data=array();
    foreach($query->result() AS $value){
        $data[] = $value->id;

    } 
$implode = implode(',',$data);
//get from post
$question= $this->input->post('question');
foreach($question AS $q){

        $data[]=array(
        'id' => $implode,
        'question' => $q
        );

        }
        $this->db->update_batch('example',$data,'id');
//I use multiple add filed
<button class="add_field_button2">Add More Fields</button>
<input type="text" name="question[]" value="<?= $rowk->question;?>">

当添加 2 个问题更新表时,只有一行被更改

我的数据数组

Array ( [0] => Array ( [id] => 1,2 [question] => question1 ? ) ) Array ( [0] => Array ( [id] => 1,2 [question] => question1 ) [1] => Array ( [id] => 107,108 [question] => question2 ) )

【问题讨论】:

  • 你的数据数组中有什么??
  • 我已经更新了,我进入了数据数组,请看我的帖子

标签: php sql codeigniter


【解决方案1】:

如果你使用 update_batch 那么你的数组格式必须是这样的

Array(
    [0]=>Array(
            [id]=>1,
            [question] => question1 ?
        ),
    [1]=>Array(
        [id]=>2,
        [question] => question1 ?
    ),
    [2]=>Array(
        [id]=>107,
        [question] => question2
    )
)

我认为你的数组格式不正确

【讨论】:

  • 问题解决了,你说得对,我的数组格式不对
  • 太棒了!它解决了你的问题,如果我的评论对你有帮助,那么你可以支持我的回答并接受我的回答
【解决方案2】:

您好,您可以查看我的回答Codeigniter - Update Multiple Row With Select2 我认为这会对您有所帮助,如果它确实点击了一个赞按钮 :-D 。谢谢 改变这个

foreach($question AS $q){

        $tempdata=array(
        'id' => $implode, // this must be a single value i think because by default update_batch third parm is work like "=" not "IN"  
        'question' => $q
        );
  array_push($data, $tempdata);
 }
        $this->db->update_batch('example',$data,'id');

【讨论】:

  • 嘿。你能在这里少提一下什么是行不通的吗?因为它与上面的开发相同。提到过。您的数组格式不正确,因此如果您在 CI 中使用 update_batch,则可以使用 array_push 管理您的多数组,..您也可以查看参考链接。两者都是同样的问题谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多