2013-07-26 21 views
18

Làm thế nào tôi có thể tạo ra một mảng chèn CI mẻ mà là giống nhưLàm thế nào để tạo CodeIgniter batch chèn mảng

từ mảng bình thường của tôi mà là

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

vấn đề với mảng hiện có là bao nhiêu? – Hemantwagh07

Trả lời

38

Hãy thử điều này:

$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); 

Để biết thêm thông tin, hãy đọc here

+0

Bạn có thể thêm về cách lấy mảng này bằng cách sử dụng vòng lặp không? –

+0

Nếu bạn đang ở đây và đã không nhận được rằng làm thế nào để có được mảng này sau đó thấy [link] này (https://stackoverflow.com/a/44838618/5077564) –

0

kết hợp cấu trúc mảng bình thường của bạn với cấu trúc mảng chèn hàng loạt ..

vì vậy chỉ cần sử dụng truy vấn chèn hàng loạt để chèn dữ liệu.

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

$ data là mảng bình thường của bạn.

2

Mảng của bạn là ok. Chỉ cần đặt mảng của bạn thành một biến như

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

và sau đó

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

Xin vui lòng cho tôi biết nếu bạn gặp phải bất kỳ vấn đề.

3

Đây là dữ liệu của bạn Tại khiển

  $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); 

Và chèn dữ liệu như hàng loạt chèn Tại Mẫu

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

Cảm ơn