codeigniter:改变PHP数组

时间:2015-02-24 19:06:31

标签: php mysql arrays codeigniter insert

我发送$ _POST [' checkbox_name']来执行insert_to_table。

function insert_to_table($valid_array)
    {
        $data_array = array();

        $this->load->model('get_data_model');
        $updated_max_brand_id = $this->get_data_model->get_max_brand_id();

        foreach ($valid_array as $key => $value) {
            $data_array['bdc_brand_id'] = $updated_max_brand_id;
            $data_array['bdc_cat_id'] = $value;
        }

        $this->db->insert('mart_brand_dealing_cat',$data_array);
    }

最终的mysql查询应该如下运行

INSERT INTO `mart_brand_dealing_cat` (`bdc_brand_id`, `bdc_cat_id`) VALUES (11,43),(11,42);

11 - updated_max_brand_id; 42,43来自已存在的数组$ valid_array。

我正在尝试一次插入多个值。我该怎么办呢。我可能错了,请指导和帮助我。

1 个答案:

答案 0 :(得分:1)

您可能正在寻找类似$this->db->insert_batch();

的内容

例如:

<?php 
function insert_to_table($valid_array)
{
    $this->load->model('get_data_model');
    $brand_id = $this->get_data_model->get_max_brand_id();

    $insert = array();
    foreach ($valid_array as $key => $cat_id) {
        $insert[] = array(
            'bdc_brand_id' => $brand_id,
            'bdc_cat_id' => $cat_id,
        );
    }

    if (!empty($insert)) {
        return $this->db->insert_batch('mart_brand_dealing_cat', $insert); 
    } else {
        return false;
    }
}
?>