2013-07-26 9 views
18

Jak utworzyć wstawkę tablicę CI wsadowy, który jest jakJak stworzyć CodeIgniter wsadowy insert tablicę

od mojego normalnego tablicy, która jest

Array 
(
    [0] => Array 
     (
      [track_id] => 
      [camp_id] => 1 
      [field_name] => email_title 
      [field_value] => sample 
     ) 

    [1] => Array 
     (
      [track_id] => 
      [camp_id] => 1 
      [field_name] => email_date 
      [field_value] => 2013-07-02 
     ) 

    [2] => Array 
     (
      [track_id] => 
      [camp_id] => 1 
      [field_name] => email_template 
      [field_value] => 2 
     ) 
) 
+0

Jaki jest problem z istniejącej tablicy? – Hemantwagh07

Odpowiedz

38

Spróbuj tego:

$data = array(
    array(
     'title' => 'My title' , 
     'name' => 'My Name' , 
     'date' => 'My date' 
    ), 
    array(
     'title' => 'Another title' , 
     'name' => 'Another Name' , 
     'date' => 'Another date' 
    ) 
); 

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

Aby uzyskać więcej informacji, przeczytaj here

+0

Czy możesz dodać, jak uzyskać tę tablicę za pomocą zapętlenia? –

+0

Jeśli jesteś tutaj i nie wiesz, jak uzyskać tę tablicę, zobacz ten [link] (https://stackoverflow.com/a/44838618/5077564) –

0

Twoja normalna struktura tablicowa jest zgodna ze strukturą tablicy wstawiania wsadowego.

, więc po prostu użyj kwerendy wstawiania wsadowego, aby wstawić dane.

$this->db->insert_batch('yourTable', $data); 

$ dane to twoja normalna tablica.

2

Twoja tablica jest w porządku. Wystarczy umieścić tablicę do zmiennej jak

$data=array();//put your array 

a następnie

$this->db->insert_batch('yourTable', $data); 

Proszę dać mi znać, jeśli napotkają żadnych problemów.

3

To dane Na kontrolerze

  $dataForDb[0]['track_id']=$data['track_id']; 
      $dataForDb[0]['camp_id']=$data['camp_id']; 
      $dataForDb[0]['field_name']=$data['field_name']; 
      $dataForDb[0]['field_value']=$data['field_value']; 

      $dataForDb[1]['track_id']=$data['track_id']; 
      $dataForDb[1]['camp_id']=$data['camp_id']; 
      $dataForDb[1]['field_name']=$data['field_name']; 
      $dataForDb[1]['field_value']=$data['field_value']; 

      $dataForDb[2]['track_id']=$data['track_id']; 
      $dataForDb[2]['camp_id']=$data['camp_id']; 
      $dataForDb[2]['field_name']=$data['field_name']; 
      $dataForDb[2]['field_value']=$data['field_value']; 

$fid=$this->model_modelName->functionName($dataForDb); 

i wstawić dane jako partii wstawić w Model

$this->db->insert_batch($table, $data); 

Dzięki