2017-12-20 10 views
0

私はcodeigniterに複数の配列を挿入する方法に困っています.2または3の配列を投稿すると、データベースに正常に保存されますが、3つ以上の配列を投稿すると、データベースに保存されます。ここでcodeigniterに複数の配列を挿入するには?

function add_booking($table,$data) { return $this->db->insert($table,$data); } 

私のコード:

for($i =0 ; $i < count($data["alamat_tujuans[]"]) ;$i++){ 
    $tujuan =$data["alamat_tujuans[]"][$i]; 
    $ddetail = array(
     "id"   =>$delivery_id+$i, 
     "address"  =>$tujuan, 
     "sku_driver" =>$data["sku[]"][$i], 
     "contact"  =>$data["kontak_penerima[]"][$i], 
     "instruction" =>$data2["instruksi[]"][$i], 
     "order_id"  =>$obj[0]->id.'-'.$transid, 
     "name"   =>$data["nama_penerima[]"][$i], 
     "email"  =>$data["email_penerima[]"][$i], 
     "created_date" =>$date, 
     "place_name" =>$data['place_name'], 
     "districts" =>$data['districts'], 
     "lat"   =>$data['tujuan1_lat[]'][$i], 
     "lng"   =>$data['tujuan1_lng[]'][$i], 
     "harga_muatan" =>$data['harga_muatanya[]'][$i], 
     "status"  =>$data['status'], 
     "provider_id" =>$_SESSION['logged_in']['provider_id'], 
     "city"   =>$data['city'] 
     ); 
    $insertData = $this->m_booking->add_booking("delivery_detail", $ddetail); 
} 
+0

「データベースに保存されていないデータ」とはどういう意味ですか?それは特に保存されるか、まったく保存されないのですか?エラーを返しましたか? –

+0

が時々保存され、保存されないことがある –

+1

forループ内のすべての '$ ddetail'をチェックしましたか?すべてが正しいデータを含んでいますか? –

答えて

0

ここにあなたの答えである

は、ここに私のモデル関数です。

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

まず、ループを使用して多次元配列を作成します。データがdbに挿入される準備ができたら、関数insert_batchを使用します。 insert_batch関数はすべてのデータを一度にデータベースに挿入します。
これがあなたを助けてくれることを願っています。

+0

私はそれを試みましたが、それでもすべてをデータベースに保存しませんでした。私はとても混乱している –

+0

あなたの配列が正しくフォーマットされていないと思います。 'print_r'を使って配列を表示しようとしましたか? – Prabhu

+0

私はそれを試みましたが、データはデータベースにすべて保存されているわけではありません。 –

関連する問題