CARA UPDATE DATA LEBIH DARI SATU MENGGUNAKAN INPUT TYPE CHECKBOX DI PHP

MOHON BANTUAN NYA SUHU

while ($data=$sql->fetch_assoc()) {
?>
<tr>
      <td align="center"><?php echo $no++; ?>.</td>
    	<td align="center"><input type="text" name="nis" value="<?php echo $data['nis']; ?>"> </td>
      <td align="center"><?php echo $data['nama']; ?></td>
      <td align="center"><?php echo $data['kelas']; ?></td>
      <td align="center"><input type="checkbox" name="status[]" value="H"></td>
      <td align="center"><input type="checkbox" name="status[]" value="I"></td>
      <td align="center"><input type="checkbox" name="status[]" value="S"></td>
    
    
    </tr>
    	<?php } ?>
    </tbody>
</table> 

if (isset($_POST['input_absen'])) {
$kode_jadwal = $_POST['kode_jadwal'];
$nis = $_POST['nis'];
$status= $_POST['status'];

 
    $jumlah_dipilih = count($status);
    for($x=0;$x<$jumlah_dipilih;$x++){
  $koneksi->query("update jadwal set status='$status[$x]' where kode_jadwal='$kode_jadwal' and nis='$nis' ");

kira kira gimana yah perintahnya untuk mengupdate data pada type checkbox yang dipilih, sedangkan perintah diatas hanya mengupdate data yang terakhir pada database sedangkan data di atasnya nggak terupdate..........mohon bantuan nya para suhu jika ada yang tau

avatar bento94
@bento94

9 Kontribusi 0 Poin

Diperbarui 3 bulan yang lalu

1 Jawaban:

Untuk mengupdate beberapa baris data dengan checkbox, kamu perlu memastikan bahwa setiap checkbox memiliki nilai unik yang dapat digunakan untuk mengidentifikasi baris data yang sesuai di database. Dalam kasus kamunya, tampaknya kamu mencoba mengupdate status berdasarkan kode_jadwal dan nis. Namun, dari kode yang kamu berikan, tampaknya setiap checkbox memiliki nilai yang sama (H, I, atau S), dan tidak ada informasi unik tentang baris data yang harus diperbarui.

Berikut contoh nya:

while ($data=$sql->fetch_assoc()) {
?>
<tr>
      <td align="center"><?php echo $no++; ?>.</td>
    	<td align="center"><input type="text" name="nis" value="<?php echo $data['nis']; ?>"> </td>
      <td align="center"><?php echo $data['nama']; ?></td>
      <td align="center"><?php echo $data['kelas']; ?></td>
      <td align="center"><input type="checkbox" name="status[<?php echo $data['kode_jadwal']; ?>]" value="H"></td>
      <td align="center"><input type="checkbox" name="status[<?php echo $data['kode_jadwal']; ?>]" value="I"></td>
      <td align="center"><input type="checkbox" name="status[<?php echo $data['kode_jadwal']; ?>]" value="S"></td>
</tr>
<?php } ?>

Dalam kode di atas, saya telah mengubah nama setiap checkbox menjadi status[kode_jadwal]. Dengan cara ini, setiap checkbox akan memiliki nama yang unik berdasarkan kode_jadwal, dan kamu dapat mengupdate setiap baris data secara individu berdasarkan kode_jadwal.

Berikut bagaimana bisa mengupdate data di database:

if (isset($_POST['input_absen'])) {
    $status= $_POST['status'];
    foreach($status as $kode_jadwal => $value){
        $koneksi->query("update jadwal set status='$value' where kode_jadwal='$kode_jadwal' and nis='$nis' ");
    }
}

Dalam kode di atas, saya menggunakan loop foreach untuk mengiterasi setiap item dalam array $_POST[&#039;status&#039;]. Kunci array adalah kode_jadwal, dan nilai array adalah status yang dipilih oleh pengguna

avatar adamajalah27
@adamajalah27

119 Kontribusi 40 Poin

Dipost 3 bulan yang lalu

Login untuk ikut Jawaban