Tolong pilih kategori sesuai, jenis posting (diskusi atau bukan) dan sertakan tag/topik yang sesuai seperti komputer, java, php, mysql, dll. Promosi atau posting tidak pada tempatnya akan kami hapus!
- Bagi Anda yang ingin mendaftar, baca link berikut:
http://diskusiweb.com/discussion/50491/how-to-registrasi-diskusiweb-com-baca-ini-terlebih-dahulu
- Cara menyisipkan kode program supaya tampil rapi dan terformat dengan baik di diskusiweb.com: http://www.diskusiweb.com/discussion/50415/cara-menyisipkan-kode-program-di-diskusiweb-com
- Cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

update multiple value radio button ke database

assalamualaykum.
saya punya project kecil membuat cbt.
saya terkendala di bagian control soal dari login admin.
jadi di login admin ada halaman untuk control soal, fungsinya control soal yaitu untuk mengaktifkan dan menonaktifkan soal.

pertanyaan saya bagaimana mengupdate data via radio button lebih dari 1 data.
code view
<tbody>
<?php
$no = 1;
$query_ks = mysql_query("SELECT * FROM mp ORDER BY id");
while($data_ks = mysql_fetch_array($query_ks)){
$id_hasil_mp = $data_ks['id'];
$id_hasil_kelas = $data_ks['id_kelas'];
$kleasx = mysql_fetch_array(mysql_query("SELECT * FROM kelas WHERE id = '$id_hasil_kelas'"));
$cek_ket_soal = mysql_fetch_array(mysql_query("SELECT * FROM ket_soal WHERE id_mp='$id_hasil_mp'"));
$cari_id_ket = $cek_ket_soal['id'];
echo "<tr>";
echo "<td align='center'>$no</td>";
echo "<td>$data_ks[nm_mp]</td>";
echo "<td align='center'>$kleasx[nm_kelas]</td>";
$cek_ketersediaan_soal = mysql_num_rows(mysql_query("SELECT * FROM ket_soal WHERE id_mp='$id_hasil_mp'"));
if($cek_ketersediaan_soal > 0 ){?>
<td align="center">
<div class="form-group">
<input type="radio" name="status<?=$cari_id_ket?>" id="a<?=$cari_id_ket?>" class="with-gap"
value="Aktif"<?php if ($cek_ket_soal['status']=='Aktif') {echo"checked";}?> >
<label for="a<?=$cari_id_ket?>">Aktif</label>
<input type="radio" name="status<?=$cari_id_ket?>" id="t<?=$cari_id_ket?>" class="with-gap"
value="Tidak Aktif"<?php if ($cek_ket_soal['status']=='Tidak Aktif') {echo"checked";}?> >
<label for="t<?=$cari_id_ket?>" class="m-l-20">Tidak Aktif</label>
</div>
</td>
</form>
<?php
echo "</tr>";
$no++;
}
}
?>
</tbody>
code proses update

<?
if(ISSET($_POST["s_status"])){
$status = $_POST["status'$cari_id_ket'"];
$simpan_status = mysql_query("UPDATE ket_soal SET status='$status' WHERE id=$cari_id_ket");
if ($simpan_status){
echo "<script language=\"javascript\">alert(\"Berhasil Disimpan\");document.location.href='index.php?page=control_soal';</script>";
}else{
echo "<script language=\"javascript\">alert(\"Gagal Disimpan\");document.location.href='index.php?page=control_soal';</script>";
}}
?>

Comments

  • edited November 2017
    walah ...
    itu alur model apa to mas ... query nya banyak banget ...

    ini pasti ndak dipikir kalo data yg diadepin buanyak buanget.
    hambok pake JOIN.

    begini kan sederhana.
    <tbody>
    <?php
    $no = 1;
    $query_ks = mysql_query(
    'SELECT
    mp.nm_mp,
    k.nm_kelas,
    ks.id,ks.status
    FROM mp
    LEFT JOIN kelas k ON k.id=mp.id_kelas
    LEFT JOIN ket_soal ks ON ks.id_mp=mp.id
    ORDER BY id'
    );
    while($data_ks = mysql_fetch_array($query_ks)){
    echo '<tr>';
    echo '<td align="center">'.$no.'</td>';
    echo '<td>'.$data_ks['nm_mp'].'</td>';
    echo '<td align="center">'.$data_ks['nm_kelas'].'</td>';
    if(!empty($data_ks['id'])){?>
    <td align="center">
    <div class="form-group">
    <input type="radio" name="status<?php echo $data_ks['id'];?>" id="a<?php echo $data_ks['id'];?>"
    class="with-gap" value="Aktif" <?php if ($data_ks['status']=='Aktif') {echo 'checked';}?>>
    <label for="a<?php echo $data_ks['id'];?>">Aktif</label>
    <input type="radio" name="status<?php echo $data_ks['id'];?>" id="t<?php echo $data_ks['id'];?>"
    class="with-gap" value="Tidak Aktif" <?php if ($data_ks['status']=='Tidak Aktif') {echo 'checked';}?>>
    <label for="t<?php echo $data_ks['id'];?>" class="m-l-20">Tidak Aktif</label>
    </div>
    </td>
    </form>
    <?php
    echo '</tr>';
    $no++;
    }
    }
    ?>
    </tbody>
    dan diingat :
    - biasakan nulis echo biasa aja <?php echo ... ?>
    <?= ... ?> cuma bisa jalan kalo short_open_tags aktif
    - biasakan juga nulis tag pembuka dan penutup php lengkap <?php ... ?>
    - itu fungsi mysql_*(), lebih baik ganti pake mysqli_*()
    ndak perlu pake yg model object, pake yg model fungsi juga bisa.
    php 7 fungsi mysql_*() hilang.


    ttg masalahnya ...

    [1]
    itu </form> ada di situ buat apa ?
    <form> nya di mana ?

    itu kalo bener ada </form> di dalam loop, dan kemungkinan <form> nya di luar loop ...
    hasilnya pasti kaya gini :
    <form>
    <input ...>
    </form>
    <input ...>
    </form>
    <input ...>
    </form>
    <input ...>
    </form>
    dari yg seharusnya :
    <form>
    <input ...>
    <input ...>
    <input ...>
    <input ...>
    </form>
    ini :
    <?php print_r($_POST); ?>
    <form method="POST">
    <input type="text" name="a" value="1"><br>
    <input type="text" name="b" value="2"><br>
    <input type="text" name="c" value="3"><br>
    <input type="submit">
    </form>
    benar ada hasilnya :


    tapi kalo ini :
    <?php print_r($_POST); ?>
    <form method="POST">
    <input type="text" name="a" value="1"><br>
    </form>
    <input type="text" name="b" value="2"><br>
    </form>
    <input type="text" name="c" value="3"><br>
    </form>
    <input type="submit">
    </form>
    atau ini :
    <?php print_r($_POST); ?>
    <form method="POST">
    <input type="text" name="a" value="1"><br>
    </form>
    <input type="text" name="b" value="2"><br>
    </form>
    <input type="text" name="c" value="3"><br>
    <input type="submit">
    </form>
    ndak akan ada isian yg bisa dikirim :
  • itu form pembukanya ada di bagian atas karna ada tombol save di atas mas jadi saya tulis sebelum tombol save
  • kalo di ganti ke mysqli berarti semuanya harus di ganti dong codex.
    saya awal belajarx pake php 5 insha allah kedepannya saya akan belajar pakai php 7
    kalo pakai foreach bisa nggak yaa?
  • dan untuk queryx terima kasih sudah dikoreksi.
    saya akan perbaiki querynya.
  • ini outpunya mas
  • edited November 2017
    tetep aja salah.
    cuma isian yg pertama doang yg terkirim.
    <?php print_r($_POST); ?>
    <form method="POST">
    <input type="submit"><br>
    <input type="text" name="a" value="1"><br>
    </form>
    <input type="text" name="b" value="2"><br>
    </form>
    <input type="text" name="c" value="3"><br>
    </form>

    mau pake loop apa pun, masalahnya bukan di situ.
    letak </form> elo itu yg bikin masalah.
  • terima kasih atas pencerahanx gan.
    ternyata di join lebih singkat codex
    saya udah pake modal buat on off soalx :smiley:
Sign In or Register to comment.