Membuat Random Soal Pertanyaan Menggunakan PHP MySQL

Haloo teman-teman Dumet School, pada kesempatan kali ini saya akan Membuat Random Soal Pertanyaan Menggunakan PHP MySQL. Soal pertanyaan yang saya maksud disini yaitu ketika teman-teman ingin membuat sebuah aplikasi semacam e-learning yang berisikan tentang soal pertanyaan dimana soal pertanyaan dari 10 soal akan tampil dengan acak sebanyak 5 soal. Nah untuk jumlah soal teman-teman bebas membuat soal sebanyak mungkin ya. karena disini tidak ada batasannya. Kebetulan saya hanya pakai 10 soal untuk menampilkan 5 soal secara random atau acak. Langsung saja langkah pertama teman-teman buat struktur html seperti di bawah ini.

<html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">

    <title>Membuat Random Pertanyaan Menggunakan PHP MySQL</title>
  </head>
  <body>
      <div class="container">
          <div class="row">
              <div class="col-12">
                <h1>Soal Pertanyaan IPA</h1>
                  <form method="post">
                      <?php if(mysqli_num_rows($query)>0) { ?>
                      <?php $i=1; while($row=mysqli_fetch_array($query)){ ?>
                      <div class="kuesioner border-bottom">
                        <div class="form-group row">
                        <label for="pertanyaan" class="col-sm-2 col-form-label"><?php echo $i++; ?></label>
                        <div class="col-sm-10">
                          <p><?php echo $row["pertanyaan"] ?></p>
                        </div>
                      </div>
                      <fieldset class="form-group">
                        <div class="row">
                          <legend class="col-form-label col-sm-2 pt-0">Pilihan Jawaban</legend>
                          <div class="col-sm-10">
                            <div class="form-check">
                              <input class="form-check-input" type="radio" name="gridRadios<?php echo $i ?>" id="gridRadios1" value="option1" checked>
                              <label class="form-check-label" for="gridRadios1">
                                <?php echo $row["A"] ?>
                              </label>
                            </div>
                            <div class="form-check">
                              <input class="form-check-input" type="radio" name="gridRadios<?php echo $i ?>" id="gridRadios2" value="option2">
                              <label class="form-check-label" for="gridRadios2">
                                <?php echo $row["B"] ?>
                              </label>
                            </div>
                            <div class="form-check">
                              <input class="form-check-input" type="radio" name="gridRadios<?php echo $i ?>" id="gridRadios3" value="option3">
                              <label class="form-check-label" for="gridRadios3">
                                <?php echo $row["C"] ?>
                              </label>
                            </div>
                            <div class="form-check">
                              <input class="form-check-input" type="radio" name="gridRadios<?php echo $i ?>" id="gridRadios4" value="option4">
                              <label class="form-check-label" for="gridRadios4">
                                <?php echo $row["D"] ?>
                              </label>
                            </div>
                          </div>
                        </div>
                      </fieldset>
                      </div>
                      <?php } } ?>
                  <div class="form-group row mt-3">
                    <div class="col-sm-10">
                      <button type="submit" class="btn btn-primary">Send</button>
                    </div>
                  </div>
                </form>
              </div>
          </div>
      </div>

    

    <!-- Optional JavaScript -->
    <!-- jQuery first, then Popper.js, then Bootstrap JS -->
    <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
  </body>
</html>

jika sudah selesai maka teman-teman buat koneksi database dan perintah ke database untuk ambil data menggunakan PHP seperti script di bawah ini.

<?php
$conn = mysqli_connect("localhost", "dumet", "school", "test");

$query = mysqli_query($conn, "SELECT shelli_kuesioner .*, shelli_option.A,shelli_option.B,shelli_option.C,shelli_option.D
                                FROM shelli_kuesioner, shelli_option
                                WHERE shelli_kuesioner.id = shelli_option.id_pertanyaan
                                ORDER BY rand() LIMIT 5" );

 ?>

Maka jika teman-teman buka di halaman browser akan tampil pertanyaan sebanyak 5 soal yang dirandom menggunakan PHP. Demikian artikel tentang cara  Membuat Random Soal Pertanyaan Menggunakan PHP MySQL. Semoga dapat bermanfaat dan selamat mencoba.

23 Desember 2019

Webinar Gratis 2024


Selanjutnya Pada Bulan Maret 2024

Sabtu, 09 Maret 2024


10 Bahasa Rekomendasi Untuk Dipelajari di 2024

Python Developer, Data Science, Web Application

Kursus Python Django Web Application 2024 di DUMET School Mini Bootcamp Backend Laravel 11 Bulan Mei 2024 di DUMET School
Webinar Selanjutnya Mei 2024

Minggu, 26 Mei 2024, 09.00-13.00 WIB

(4 Jam Membuat Backend di Laravel 11)

chat