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 } 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
Post a Comment