2016-05-24 5 views
0

У меня есть несколько массивов для вставки в базу данных, но я не исправляю имя поля, потому что вы можете выбрать данные таблицы формата и вставить в базу данных, но можете проверить имя поля с помощью $ id_template.Получить несколько массивов в Codeigniter и вставить в базу данных

Это мой формат таблицы (пример) enter image description here

Так я хочу знать, как я могу получить данные из нескольких массива для вставки в базу данных

Это мой код в контроллере

$column = $this->m_rate_template->get_column($id_template); 
    $colum_detail = implode(",", $column); 
    $column_cut = explode(",", $colum_detail); //example data get format is Array ([0] => min [1] => max) 
    foreach ($column_cut as $key => $val){ 

     $a = $this->input->post($column_cut[$key]); 
      foreach ($a as $key1 => $val1){ 
       echo $val1; 
       $child_data = array(
         'id' => $this->m_rate_template->generate_id_in_template($template_name), 
         'id_rate' => $id_rate, 
         $column_cut[$key] => $val1 
       ); 
       $this->m_rate_template->insert_rate($child_data, $template_name); 
      } 
    } 

ответ

0

если вы хотите вставить несколько записей в таблицу, вы также можете использовать встроенную функцию codeigniter insert_batch без запроса в цикле. , так что я делаю ваше исполнение быстрым.

Вы хотите разместить массив в нижнем формате.

$array = array(
    [0] => array(
    'column 1' => 'value 1', 
    'column 2' => 'value 1' 
    ), 
    [1] => array(
    'column 1' => 'value 2', 
    'column 2' => 'value 2' 
    ) 
) 

$this->db->insert_batch('tbl_name',$array) 

поэтому, пожалуйста, ваш код и сгенерировать массив, как описано выше в цикле и просто передать свой массив в функции insert_batch.

+0

Пожалуйста, см http://stackoverflow.com/a/37405692/5243077 –

+0

Да я получил его, но проблема в том, что я не знаю о ваших данных цикла, я просто предлагаю вам, если вы хотите вставить несколько массивов в базу данных с помощью codeigniter, тогда всегда старайтесь использовать функцию insert_batch(). – Kamlesh

+0

обновление уже, пожалуйста, проверьте –

1

Мои данные это показывают, как этот

Array ([id] => 4ae665037e [id_rate] => 7f881e02bb [min] => 1) 
Array ([id] => bc3e60157f [id_rate] => 7f881e02bb [min] => 2) 
Array ([id] => 082de3ad82 [id_rate] => 7f881e02bb [max] => 1) 
Array ([id] => ee135ecd8a [id_rate] => 7f881e02bb [max] => 2) 

на самом деле, данные должны быть, как это

Array ([id] => 4ae665037e [id_rate] => 7f881e02bb [min] => 1 [max] => 2) 
Array ([id] => 082de3ad82 [id_rate] => 7f881e02bb [max] => 1 [max] => 2) 

Update

$array = array(
[0] => array(
    'min' => '2500', 
    'max' => '5000' 
), 
[1] => array(
'min' => '5001', 
'max' => '7000' 
) 

)

+0

Да, я понял, но проблема в том, что я не знаю о ваших данных цикла, я просто предлагаю вам, если вы хотите вставить несколько массивов в базу данных с помощью codeigniter, тогда всегда старайтесь использовать insert_batch (). – Kamlesh

1

Вы можете использовать пакетную вставку вставить несколько

$this->db->insert_batch(); 

первый параметр имя таблицы и второй является массив массивов (записей)

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