Postingan lainnya
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
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['status']
. Kunci array adalah kode_jadwal
, dan nilai array adalah status yang dipilih oleh pengguna