2013-10-03 113 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