Postingan lainnya
Kelas Premium!
Belajar bikin website dari nol sekarang
Gunakan kupon "lebihcepat" untuk diskon 25%!
Membuat soal quis untuk aplikasi ujian
bagaimana membuat from quiz dengan mengunakan paging dan muncul per halaman satu quiz, tapi dimana cara nyimpen jawaban yang sebelumya karena kalo pindah ke soal selanjutnya jawaban sebelumnya hilang, mohon di bantu ,
<?php
// Memanggil File Koneksi
require_once'../koneksi.php';
$per_page = 1; // Batas data per halaman
$urut=$page = @$_GET['page'];
if($page <= 1) {
$st = 0;
}else{
$st = ($page - 1) * $per_page;
}
$prev = $page - 1;
$next = $page + 1;
$st = $st;
$nd = $per_page;
$limit = "limit $st,$nd";
$query = "SELECT * FROM soal $limit";
$exec = mysqli_query($con, $query);
$jumlah=mysqli_num_rows($exec);
while($row = mysqli_fetch_array($exec)) {
$id=$row["id_soal"];
$mapel=$row["mapel"];
$pertanyaan=$row["pertanyaan"];
$pilihan_a=$row["a"];
$pilihan_b=$row["b"];
$pilihan_c=$row["c"];
$pilihan_d=$row["d"];
$pilihan_e=$row["e"];
?>
<h4 class="header">Soal : <?= $mapel ?> <label class="jam">No: <?= $urut=$urut+0;?> </label></h4>
<hr>
</div>
<div class="panel-body">
<br><br>
<form action="jawab.php" method="POST" >
<p class="ques">
<?= $pertanyaan ?>
</p>
<input type="text" name="id[]" value=<?= $id?>>
<input type="text" name="jumlah" value=<?= $jumlah ?>>
<p class="ques">
<input name="pilihan[<?= $id?>]" type="radio" value="a" >
A. <?= $pilihan_a ?>
</p>
<p class="ques">
<input name="pilihan[<?= $id?>]" type="radio" value="b" >
B. <?= $pilihan_b ?>
</p>
<p class="ques">
<input name="pilihan[<?= $id?>]" type="radio" value="c" >
C. <?= $pilihan_c ?>
</p>
<p class="ques">
<input name="pilihan[<?= $id?>]" type="radio" value="d" >
D. <?= $pilihan_d ?>
</p>
<p class="ques">
<input name="pilihan[<?= $id?>]" type="radio" value="e" >
E. <?= $pilihan_e ?>
</p>
<?php
}
?>
<hr>
<div class="footer">
<?php
$qw="SELECT * FROM soal";
$exec2 = mysqli_query($con, $qw);
$hitung_data = mysqli_num_rows($exec2);
$hitung_data = ceil($hitung_data/$per_page);
if($prev < 1) {
echo "<button type='button' class='btn btn-danger'>Pertama</button>";
}else{
echo "<a href='?page=$prev'><button type='button' class='btn btn-danger'>Sebelumnya</button></a>";
}
if($next > $hitung_data) {
echo " <button type='submit' name='submit' class='btn btn-primary jam'>Selesai</button>";
}else{
echo "<a href='?page=$next'><button type='button' class='btn btn-primary jam'>selanjutnya</button></a>";
}
?>
Tanggapan
maksudnya soal menggunakan radio tapi menggunakan paging gimana? soalnya dibuat dalam tabs? coba contoh soalnya seperti apa?
sudah saya ralat itu mohon, yang faham di bantu saya,
kode mu taro di tag kode, biar enak dibacanya..
udah itu kak, maaf belum faham , hehe
1 Jawaban:
Jawaban Terpilih
Kebetulan saya baru selesai membuat ujian online nih mas, kalau yang saya buat, dibawah pilihan A,B,C dan D itu ditambahkan button "Selanjutnya" dan "Sebelumnya", nah contoh yang button selanjutnya itu sebenarnya button submit untuk menyimpan jawaban.
Di controller yang memproses simpan jawabannya itu setelah berhasil disimpan lalu dilakukan pengecekan apakah masih ada soal selanjutnya atau tidak, logikanya bisa ID soal yg baru dikerjakan ditambah satu (+1), kalau soal masih ada maka lanjut ditampilkan soal tersebut, kalau sudah tidak ada soal maka redirect ke informasi "soal sudah dibuka semua".
Untuk button "Soal sebelumnya" juga prosesnya hampir sama, cuman bedanya yg ini ID soalnya dikurangi satu (-1).
Lalu biar ala-ala UNBK, dibagian kanan ditambahkan daftar nomor soal yang bisa diklik.
Tanggapan
iya emang maksut saya gitu kak , tapi saya ini masih noob banget jadi bingung aja nerapin kode nya , mungkin masnya bisa bantu saya, udah dua minggu saya stuck di sini ,cari solusi di mana mana ga ada yang cocok sama angan angan, hehe
cuman tinggal nyimpen jawabanya aja , itu jawabannya di simpen di database apa masi dalam sebuah kode?
Paling aman langsung disimpan ke database, jadi begitu ada peserta ujian yg ga sengaja menutup browser, jawaban sebelumnya sudah tersimpan. Lalu selama waktu pengerjaan soalnya masih ada, soal yg tadi sudah dijawab masih bisa dibuka & dikoreksi lagi kalau2 sekiranya belum tepat
oke terimakasih,