如何在答案旁边做出多选的结果


how to make result of multiple choice in side of the answer

我想做一个多选,如果我们选择了错误的答案,那么在我们选择的答案旁边会显示一个文本"不正确";如果我们选择的是正确的答案,则在我们选择答案的旁边会显示文本"正确"。我用的是单选按钮。请帮忙。

这是我的index.php:

<?php
    include 'koneksi.php';
    session_start();
    $query = mysql_query("select * from t_soal") or die (mysql_error());
    //$_SESSION['soal'] = mysql_fetch_array($query);
    $_SESSION['soal'] = array();
    $_SESSION['no'] = 1;
    $_SESSION['score'] = 0;
    $_SESSION['option'] = array();
    $_SESSION['jawab'] = array();
    $i=0;
    while($row = mysql_fetch_assoc($query)){
        $_SESSION['soal'][] = $row;
        $_SESSION['option'][] = array($_SESSION['soal'][$i]['a'], $_SESSION['soal'][$i]['b'], $_SESSION['soal'][$i]['c'], $_SESSION['soal'][$i]['d']);
        $i++;
    }
    if(isset($_SESSION['soal'])){
        header("location:test.php");
    }

这是test.php:

<?php
    session_start();
    $soal = $_SESSION['soal'];
    $no = $_SESSION['no'];
    if(isset($_POST['next'])){
        $_SESSION['jawab'][] = $_POST['option'];
        if($_POST['option'] == $soal[$no-2]['kunci']){
            $_SESSION['score'] = $_SESSION['score'] + 10;
        }
    }
    if(isset($soal[$no-1])){ 
?>
<!DOCTYPE html>
<html>
<head>
    <title>Latihan Soal</title>
</head>
<body>
<a href="index.php">Kembali ke soal 1</a>
    <form action="" method="POST">
        <p>
        <?php
            echo $no.". "; $_SESSION['no']++; 
            echo $soal[$no-1]['soal']; 
            $jawaban = $_SESSION['option'][$no-1]; 
            shuffle($jawaban); 
        ?>
         </p>
        <?php
            for ($i=0; $i < 4; $i++) {
        ?>
            <input type="radio" name="option" value="<?php echo $jawaban[$i]; ?>" required/> <?php echo $jawaban[$i]; ?></br>
        <?php
            }
         ?>
        <input type="submit" name="next" value="next">
    </form>
</body>
</html>
<?php
    }else{
        header("location:result.php");
    }
?>

假设所有脚本都已运行,则:

在PHP中:

您需要在此脚本上分配一个新参数:

if($_POST['option'] == $soal[$no-2]['kunci']){
    $_SESSION['score'] = $_SESSION['score'] + 10;
}

if($_POST['option'] == $soal[$no-2]['kunci']){
    $_SESSION['score'] = $_SESSION['score'] + 10;
    $_SESSION['correctAnswer'] = $soal[$no-2]['kunci']; // add sthing like this
}

然后,从

for ($i=0; $i < 4; $i++) {
    ?>
        <input type="radio" name="option" value="<?php echo $jawaban[$i]; ?>" required/> <?php echo $jawaban[$i]; ?></br>
    <?php
        }

for ($i=0; $i < 4; $i++) {
    ?>
    <input type="radio" name="option" value="<?php echo $jawaban[$i]; ?>" required/> <?php echo $jawaban[$i]; ?></br>
    <?php
    echo $jawaban[$i] == $_SESSION['correctAnswer'] ? " correct" : " incorrect";    
}

在JS中:(更容易)

HTML文件将如下所示:

<div class="correctAnswer">
    <input type="radio" name="theanswer" id="choice1" />
    <label for="choice1">Choice 1</label>
</div>
<div class="incorrectAnswer">
    <input type="radio" name="theanswer" id="choice2" />
    <label for="choice2">Choice 2</label>
</div>

JS看起来是这样的:

$(".correctAnswer").click(function() {
$(".checks").remove();
$(this).append("<span class='checks'> correct</span>");
});
$(".incorrectAnswer").click(function() {
    $(".checks").remove();
    $(this).append("<span class='checks'> incorrect</span>");
});

如果你想要一个工作示例,请在这里查看这个fiddle链接。

希望它能有所帮助!