使用更新批处理对codeigniter进行多次更新

时间:2017-08-11 03:27:01

标签: php mysql codeigniter

$ID = $this->input->post('barang');
$reslt = array();
foreach($ID AS $key => $val){
    $reslt[] = array(
    "id" => $ID[$key],
    "stok"  => $_POST['qty'][$key]);
}

$this->db->update_batch('barang', $reslt, 'id');

错误

  

遇到严重错误:通知

     

消息:未定义索引:id

     

文件名:database / DB_query_builder.php

     

行号:1955

     

回溯:

     

文件:E:\ xampp \ htdocs \ restly \ application \ controllers \ admin.php行:   343功能:update_batch

     

文件:E:\ xampp \ htdocs \ restly \ index.php行:315功能:   require_once

任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:0)

你已经添加了分号,只需删除它。 更新的代码:

$reslt[] = array(
                    "id" => $ID[$key],
                    "stok"  => $_POST['qty'][$key])
}

答案 1 :(得分:0)

试试这段代码:

$ID = $this->input->post('barang');
    $reslt = array();
    for($x = 0; $x < sizeof($ID); $x++){
        {
            $reslt[] = array(
                        "id" => $ID[$x],
                        "stok"  => $_POST['qty'][$x]
                        );
        }
    $this->db->update_batch('barang', $reslt, 'id');

将此代码更新为您的代码..并检查并接受它是否有效!

答案 2 :(得分:0)

你这里有拼写错误

$_POST['qty'][$key]);

将此更改为

$_POST['qty'][$key])

你的最终foreach应该是:

foreach($ID AS $key => $val){
$reslt[] = array(
    "id"    => $ID[$key],
    "stok"  => $_POST['qty'][$key])
}