2013-10-03 4 views
3

Каждый вход-> пост - это массив ключей/значений. Каждое значение внутри каждого массива соответствует остальным значениям массива. Таким образом, первая строка в вставке базы данных будет всеми данными из всего массива 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() принимает ассоциативный массив, а затем строит и выполняет вставку заявление:

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

Смежные вопросы