2013-10-03 79 views
3

每个input-> post是一个键/值数组。每个数组中的每个值都匹配其余的数组值。因此,数据库插入的第一行将是来自所有数组键0的所有数据。第二行将是1,依此类推。我将如何从后期数组中获取所有数据并使用此方法将它们插入到数据库中?将多个数组插入到mysql数据库中

$selected_size = $this->input->post('selected_size'); 
     $product_id = $this->input->post('product_id'); 
     $product_name = $this->input->post('product_name'); 
     $product_color = $this->input->post('product_color'); 

     $cookie_id = $this->input->cookie("cookie_id"); 
     $q1 = $this->db->query("SELECT * FROM default_cart_temp 
           WHERE cookie_id = '$cookie_id' 
           AND is_paid = 'No'"); 
     if ($q1->num_rows() > 0) { 

     } else { 
      print_r($selected_size); 
      /*$data = array('selected_size' => $selected_size, 
          'product_id' => $product_id, 
          'product_name' => $product_name, 
          'product_color' => $product_color); 

$this->db->insert('mytable', $data);*/ 
     } 

回答

3

假设你insert()方法接受一个关联数组,然后建立并执行INSERT语句:

foreach($product_id as $key => $value) 
{ 
    $data = array(
     'selected_size' => $selected_size[$key], 
     'product_id' => $value, 
     'product_name' => $product_name[$key], 
     'product_color' => $product_color[$key] 
    ); 

    $this->db->insert('mytable', $data); 
} 

通过在阵列中的一个使用foreach并获得在每次迭代的关键,你可以使用相同的键变量访问每个其他数组中的对应元素。

+0

完美的作品,谢谢你 –

+0

没问题:)快乐的编码! – MrCode