2015-02-24 95 views
1

我正在发送$ _POST ['checkbox_name']以实现insert_to_table函数。codeigniter:更改PHP数组

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。

我试图在一次插入多个值。我该怎么做。我可能错了请引导和帮助我。

+0

'$ data_array中[ 'bdc_cat_id'] = $ valid_array'或许应该是'$ data_array中[ 'bdc_cat_id'] = $ value',$ valid_array是什么样子? – 2015-02-24 19:14:04

+0

你说得对@LawrenceCherone编辑wuestion。我试图在这里粘贴相同的代码,并忘记更改。谢谢。 – shridhar 2015-02-24 19:17:10

回答

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; 
    } 
} 
?> 
+0

谢谢你,它的工作。非常感谢你。 – shridhar 2015-02-24 19:56:51