2016-10-20 9 views
0

私はCodeigniterショッピングカートを使用しています。複数のカートアイテムを更新したいこれは私がこのコードではなく、すべてのアイテムを更新するカート内のみ最初の項目を更新しCodeigniter:複数のカートアイテムを更新する

public function updatecart(){ 

    foreach ($this->input->post() as $value){ 
     $this->cart->update(array(
      'rowid'  =>  $value['rowid'], 
      'qty'  =>  $value['qty'], 
     )); 
    } 
    redirect(base_url().'product/cart'); 
} 

をやっている、私はprint_r($this->input->post());をすれば、これは私が得るものである、それを修正するためにあなたの助けを必要としています。

Array 
(
    [1] => Array 
     (
      [rowid] => ad61ab143223efbc24c7d2583be69251 
      [qty] => 7 
     ) 

    [2] => Array 
     (
      [rowid] => d09bf41544a3365a46c9077ebb5e35c3 
      [qty] => 1 
     ) 

) 

とするとき、私はあなたが、配列はこれにそれを渡す作成したら、それは最初の配列インデックス

+0

あなたは、モデル内の更新機能から何かを返すましたか? – JYoThI

+0

私はここに貼り付けたものすべてこれは私のコントローラにあります – Sikander

答えて

0

のための数量指数を更新する更新。

foreach ($this->input->post() as $value){ 
    $data[] = array(
     'rowid'  =>  $value['rowid'], 
     'qty'  =>  $value['qty'], 
    ); 
} 

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

これは、配列内のROWIDを持っている各行を更新する必要があり、それはたくさんより速く、同様である

+0

データがデータベースにありません – Sikander

+0

それはデータベースにないとはどういう意味ですか、それは更新されませんでしたか? – Blinkydamo

関連する問題