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>";
                        }
                        ?>

avatar Rahmad25
@Rahmad25

1 Kontribusi 0 Poin

Diperbarui 5 tahun yang lalu

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.

avatar ruswan
@ruswan

31 Kontribusi 21 Poin

Dipost 5 tahun yang lalu

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,

Login untuk ikut Jawaban