phpMyAdmin
 sql >> Teknologi Basis Data >  >> Database Tools >> phpMyAdmin

Bagaimana saya bisa melihat apakah pilihan pengguna dalam kuis sudah benar?

Inilah upaya lain untuk membantu Anda.

Saya sebenarnya menulis "solusi lengkap", dan dalam prosesnya menemukan beberapa bug kecil dalam kode Anda - ditambah beberapa hal yang tidak dapat saya pahami.

Bug utama:semua tombol radio Anda memiliki nilai yang sama ($x), jadi tidak peduli tombol apa yang Anda tekan untuk pertanyaan 1, jawabannya adalah "1", dll. Ada hal lain yang Anda lakukan yang tidak dapat saya pahami - jadi yang saya lakukan adalah membuat alur sederhana - satu halaman yang menanyakan pertanyaan, dan halaman lain yang mengevaluasi hasil.

Halaman pertanyaan (saya mengaburkan parameter akses untuk database saya - tidak, saya tidak menggunakan "kata sandi" sebagai kata sandi saya!):

<html>
<body>
<form action="./evaluate.php" method="post">
<?php
$server = mysql_connect ('localhost', 'username, 'password');
mysql_select_db("questionnaire", $server);

$question = mysql_query("SELECT * FROM `Questions`;");
$x = 0;
while ($row = mysql_fetch_assoc($question))
{
   echo $row['question'] . '<br />';
   echo '<input type="radio" name="a'.$x.'" value=1 />' .$row['answer1'] . '<br />';
   echo '<input type="radio" name="a'.$x.'" value=2 />' .$row['answer2'] . '<br />';
   echo '<input type="radio" name="a'.$x.'" value=3 />' .$row['answer3'] . '<br />';
   echo '<input type="radio" name="a'.$x.'" value=4 />' .$row['answer4'] . '<br />';
   $x = $x + 1;

}
mysql_close($server);
?>

<input type="submit" name="Submit" value="Submit" />
<br>
</form>
</body>
</html>

dan evaluasi.php:EDIT:Saya mengubah kode sedikit untuk membuat output "lebih bersih", dan menambahkan sentuhan merah/hijau untuk menampilkan pertanyaan yang telah dijawab dengan benar dan salah. Jelas Anda dapat mengambil hal-hal ini lebih jauh jika Anda mau...

<html>
<body>

<?php
$server = mysql_connect ('localhost', 'username', 'password');
mysql_select_db("questionnaire", $server);

$question = mysql_query("SELECT * FROM `Questions`;");
$x = 0;
$score = 0;
while ($row = mysql_fetch_assoc($question))
{
    echo $row['question'] . '?<br />';

    $answered = $row['answer'.$_POST['a'.$x]] ;
    $correct = $row['correct'] ;

    if ($answered == $correct ) {
        $score++;
        $acolor = 'green' ;
    }
    else {
        $acolor = 'red' ;
    }

    echo 'you answered <font color=' . $acolor . '>' . $answered . '<font color=black> <br />';


    echo 'the correct answer was ' . $correct . '<br />' ;
    echo '-------------------------------------- <br />' ;

    $x = $x + 1;
}
echo 'You had a total of ' . $score . ' out of ' . $x . ' questions right!';
mysql_close($server);
?>

</body>
</html>

Ini menghasilkan (untuk pilihan ganda tiga pertanyaan sederhana yang saya buat) hasil yang diharapkan. Beri tahu saya jika ini cocok untuk Anda!




  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Cara mengekspor semua database dengan phpmyadmin

  2. Phpmyadmin - Mysql tanpa hak istimewa

  3. Cara menonaktifkan edit sebaris pada KLIK sel di PHPmyadmin

  4. PHPMyAdmin Designer tidak menunjukkan hubungan

  5. Bagaimana cara mencari database MySQL untuk nama kolom tertentu?