0

::: tbl_product と tbl_featured_product の 2 つのテーブルがあります。チェックボックス システムごとに、ビュー ページで (tbl_product からの) すべての製品情報を表示しました。必要に応じてチェックして tbl_featured_product にデータを送信できるようにします。

チェックボックスのビューページにすべての情報を表示できます..しかし、それらをデータベースに保存することはできません. 最後の 1 行のみを保存します。複数のデータを同時に保存するのを手伝ってください:::

見る:::

<?php foreach($all_product as $values) { ?>

  <input type="checkbox" name="product_name[]" value="<?php echo $values->product_name;?>" /> <?php echo $values->product_name;?> <br>
  <input hidden="hidden" name="product_id[]" value="<?php echo $values->product_id;?>" /> 
  <input hidden="hidden" name="product_price[]" value="<?php echo $values->product_price;?>" /> 

<?php } ?>

<input type="submit" name="btn" value="Save">

私のコントローラー:::::

 public function save_featured_product()
 {
    $data=array();

    if ($this->input->post()) {
        $data['featured_id']=$this->input->post('featured_id',true);
        $data['product_id']=$this->input->post('product_id',true);
        $data['product_name']=$this->input->post('product_name',true);
        $data['product_price']=$this->input->post('product_price',true);

        $this->sa_model->save_featured_product_info($data);

        $sdata=array();
        $sdata['message']='Save product Information Successfully !';
        $this->session->set_userdata($sdata);
        redirect('super_admin/add_featured_product');
    } 

私のモデル ::::

 public function save_featured_product_info($data)
  {
    $this->db->insert('tbl_featured_products',$data);
  }

あなたの側からの解決策を教えてください。ありがとうございました

4

3 に答える 3

0

配列を保存しようとしています。値を内破するか、ループして個別に保存するか、バッチ挿入する必要があります

$this->db->insert_batch('your_table', $temp);
于 2013-09-17T09:03:13.363 に答える
0

次のようにします。それに応じていくつかの変更を行う必要がある場合があります。

function save_featured_product_info($data){
    if( isset( $data['product_id'] ) && is_array( $data['product_id'] ) ){
        foreach( $data['product_id'] as $key => $each ){
            $temp[] = array(
                        'featured_id'  =>$data['featured_id'][$key],
                        'product_id'   =>$data['product_id'][$key],
                        'product_name' =>$data['product_name'][$key],
                        'product_price'=>$data['product_price'][$key],
                      );
        }
        if( isset( $temp ) ){
            $this->db->insert_batch('tbl_featured_products', $temp);
        }
    }
}
于 2013-09-17T08:59:19.637 に答える