Foreach数组更新数据库表使用那些数组元素

时间:2015-12-04 03:08:08

标签: php arrays

如何在php中获取数组元素的第一个值。 我的故事板是这样的:

我有一个这样的数组:

(
[0] => Array
    (
        [ID] => 68
        [MATERIAL] => I have
        [AC] => Try
    )

[1] => Array
    (
        [ID] => 69
        [MATERIAL] => It 
        [AC] => No Surrender
    )

我想更新我的数据库中的一些记录,

  

数组的foreach元素,

     

更新我的TABEL SET MATERIAL = [MATERIAL],AC = [AC],其中id = [id]

这是名为m_admin的模型:

public function update_eir_to_cost($id, $material, $ac) {
    $data = array(
        "MATERIAL" => $material,
        "AC" => $ac);
    $this->db->trans_start();
    $this->db->where($id);
    $this->db->update('tb_repair_detail', $data);
    $this->db->trans_complete();

    if ($this->db->trans_status() === FALSE) {
        // generate an error... or use the log_message() function to log your error
        echo "Error Updating";
    } else {
        echo "Alhamdulillah";
    }
}

这是控制器:

public function update_json_detail() {
    $post_data = $this->input->post("POST_ARRAY");
    $execute = array();
    foreach ($post_data as $data) {
        $execute[] = array(
            'ID'=> $data['0'],
            'MATERIAL' => $data['7'],
            'AC' => $data['8']
        );
    }


    echo "<pre>";
    print_r($execute); // return an array like above.

    /*forech element
        update table using model
    */

}

1 个答案:

答案 0 :(得分:0)

这将解决您的问题:

public function update_json_detail() {
    $post_data = $this->input->post("POST_ARRAY");
    $execute = array();
    foreach ($post_data as $data) {
        $execute[] = array(
            'ID'=> $data['0'],
            'MATERIAL' => $data['7'],
            'AC' => $data['8']
        );
    }


    echo "<pre>";
    print_r($execute); // return an array like above.

    $this->load->model('m_admin');

    foreach ($execute as $row) {
        $this->m_admin->update_eir_to_cost($row['ID'], $row['MATERIAL'], $row['AC']);
    }
}