php - Insert data into the database from checkbox array using Codeigniter -


i want insert data database checkbox[array] using codeigniter. case user check assesmen criteria base checkbox form, controller process when checkbox check value 1, if uncheck 0. here view

id | trimester | trimester ii | trimester iii | 21 | checbox_trimester_i[] | checbox_trimester_ii[] | checbox_trimester_iii[] 42 | checbox_trimester_i[] | checbox_trimester_ii[] | checbox_trimester_iii[] 23 | checbox_trimester_i[] | checbox_trimester_ii[] | checbox_trimester_iii[] 

i want insert table ‘assesmen’. here column in db

id | id_pk | trimester_1 | trimester_2 | trimester_3 | 1 | 21 | 1 | 0 | 1 2 | 42 | 0 | 1 | 1 3 | 23 | 1 | 0 | 0 

note * :

id_pk = id trimester_1 => checbox_trimester_i[] trimester_2 => checbox_trimester_ii[] trimester_3 => checbox_trimester_iii[] 

here view form:

foreach ($kuisioner $art) { $no++; ?>    <tr>         <td><input type="hidden" name="id[]" value="<?php echo $art->id ?>"></td>         <td align="center">             <input type="checkbox" name="checbox_trimester_i[]">         </td>                  <td align="center">             <input type="checkbox" name="checbox_trimester_ii[]">         </td>                  <td align="center">             <input type="checkbox" name="checbox_trimester_iii[]">         </td>         </tr>      <?php } 

screenshoot view enter image description here

form view enter image description here

here controller, still not work, please me solve it. 

$posted = $this->input->post(); $as_trim_satu = isset($posted['checbox_trimester_i']) ? $posted['checbox_trimester_i'] : array(); $data = array();   foreach($posted['id'] $key => $value)   {     $info_user = array(     'user_id' => $value,     'trimester_satu' => in_array($posted['id'][$key], $as_trim_satu) ?1:0,     );     $data[] = $info_user;   }     echo "<pre>";     print_r($data);     echo "</pre>"; 

you may need adjust view below correct values controller. if so, can use below code.

give name of check boxes

name="checbox_trimester_i[<?php echo $art->id ?>]" 

see view updated.

<?php foreach ($kuisioner $art) { $no++; ?> <tr>     <td><input type="hidden" name="id[]" value="<?php echo $art->id ?>"> </td>     <td align="center">         <input type="checkbox" name="checbox_trimester_i[<?php echo $art->id ?>]" value="1">     </td>              <td align="center">         <input type="checkbox" name="checbox_trimester_ii[<?php echo $art->id ?>]"  value="1">     </td>              <td align="center">         <input type="checkbox" name="checbox_trimester_iii[<?php echo $art->id ?>]" value="1">     </td>     </tr>  <?php } ?> 

below controller code access form data posted page

if($this->input->post()){         $data = array();         $ids = $this->input->post('id');         $checbox_trimester_i = $this->input->post('checbox_trimester_i');         $checbox_trimester_ii = $this->input->post('checbox_trimester_ii');         $checbox_trimester_iii = $this->input->post('checbox_trimester_iii');            if($ids ){             foreach ($ids $key => $value){                 $info_user = array(                 'user_id' => $value,                 'trimester_1' => !empty($checbox_trimester_i[$value]) ? 1: 0,                 'trimester_2' => !empty($checbox_trimester_ii[$value]) ? 1: 0,                 'trimester_3' => !empty($checbox_trimester_iii[$value]) ? 1: 0,                 );                 $data[] = $info_user;              }            }          echo "<pre>";         print_r($data);         echo "</pre>";     } 

please note variable $info_user have created. may use correct db column names before update.


Comments

Popular posts from this blog

php - Auto increment employee ID -

php - isset function not working properly -

firebird - Error "invalid transaction handle (expecting explicit transaction start)" executing script from Delphi -