2016-06-15 6 views
1

配列とチェックボックスを使用してデータを更新します。チェックボックスをオンにするとステータスが「1」になります。そうでなければ、それを "0"のままにします。チェックボックスを使用してバッチを更新できませんでした。

私はこの

<?php 
    foreach($report as $r){; 
?> 

<input type="checkbox" name="status[]" value="1" value="<?php echo $r->status;?>"> 
<input type="hidden" name="id_name[]" value="<?php echo $r->id_name;?>"> 
<input type="hidden" name="name[]" value="<?php echo $r->name;?>"> 

<?php } ?> 

この

<input type="checkbox" name="status[]" value="1"> 
<input type="hidden" name="id_name[]" value="<?php echo $r->id_name;?>"> 
<input type="hidden" name="name[]" value="<?php echo $r->name;?>"> 

ような何かをしようとしている。しかし、それらの両方であっても、私は第三または第四の行をチェックし、最初の行を更新します。

私のコントローラは、私はそれを解決してきた事前

答えて

0

でこの

function update_approval() { 
      $status = $this->input->post('status'); 
      $id_name = $this->input->post('id_name'); 
      $name = $this->input->post('name'); 
    for($a=0; $a< sizeof ($id_name); $a++) { 
        $data[$a] = array(
         'status' => $status[$a], 
         'id_name' => $id_name[$a], 
         'name'  => $name[$a] 
         ); 
      } 
    $this->db->update_batch('tbl_m_name', $data, 'id_name'); 
} 

おかげのようなものです。おかげで、私は位置を変更

、ここで私の見解

<input type="checkbox" name="id_name[]" value="<?php echo $r->id_name;?>"> 
<input type="hidden" name="name[]" value="<?php echo $r->name;?>"> 

、ここでは私のコントローラです

function update_approval() { 
      $id_name = $this->input->post('id_name'); 
      $name = $this->input->post('name'); 
    $data[$a] = array(); 
    for($a=0; $a< sizeof ($id_name); $a++) { 
     $data[] = array(
      'status' => 1, 
      'id_name' => $id_name[$a], 
      'name'  => $name[$a] 
      ); 
     } 
    $this->db->update_batch('tbl_m_name', $data, 'id_name'); 
} 

I]チェックボックスをオンにした場合ので、それは私が

を選択id_nameを掲載します
0

ありがとうございましたが、私はあなたのことを試していましたが、変数$aが不確定です。だから、私は位置を変更し、$data[$a]= array();を削除しました。以下は私のコードです(問題を解決した後):

function update_approval() { 
    $id_name = $this->input->post('id_name'); 
    $name = $this->input->post('name'); 

    for($a=0; $a< sizeof ($id_name); $a++) { 
     $data[$a] = array(
      'status' => 1, 
      'id_name' => $id_name[$a], 
      'name'  => $name[$a] 
     ); 
    } 
    $this->db->update_batch('tbl_m_name', $data, 'id_name'); 
} 
関連する問題