簡體   English   中英

如果選擇或不選擇單選按鈕的不同值

[英]different values for radio button if selected or not

我正在網上考試網站上工作。

當我想用它的選擇來定義一個問題時,我應該選擇正確的選擇。 所以每個選項前面都有一個單選按鈕,如果我選擇它,它將是正確的選擇。

我想當我選擇其中一個單選按鈕時,它的值將為“1”,如果不是,則值為“0”,因此我可以將它們保存在數據庫中,並使用foreach。 那是我的問題。

由於選項數量不明確(從2到更多)並且可以動態添加,我無法為它們設置特定值。

我使用了isset和foreach,但我想我沒有以正確的方式使用它們。 我認為它可以通過javascript或jquery完成,但我不知道如何。

choice 1:
<textarea class="form-control" name="choice[]" placeholder="choice text"></textarea>
<label><input type="radio" name="correct[]">Correct</label>

choice 2:
<textarea class="form-control" name="choice[]" placeholder="choice text"></textarea>
<label><input type="radio" name="correct[]">Correct</label>

Other Choices ...



<?php
foreach ( $_POST['choice'] as $key => $value ){
if (!empty($value)){
    foreach ($_POST['correct'] as $value2){ 
    if (isset($value2)) $choice_answer = '1'; else $choice_answer = '0';}

mysqli_query($server,"INSERT INTO question_choices (question_id,exam_id,choice,answer) VALUES ('$question_id','$current_exam_id','$value','$choice_answer')");}}
?>

所以你把你的選擇存儲在一個數組中,這很好。 但是,您還可以將正確的指示符存儲在數組中。 你不需要在數組中,因為只有一個正確的選擇。

因此,將correct[]更改為correct並為每個選項逐步設置值。

例如:

choice 1:
<textarea class="form-control" name="choice[]" placeholder="choice text"></textarea>
<label><input type="radio" name="correct" value=0>Correct</label>

choice 2:
<textarea class="form-control" name="choice[]" placeholder="choice text"></textarea>
<label><input type="radio" name="correct" value=1>Correct</label>

choice 3:
<textarea class="form-control" name="choice[]" placeholder="choice text"></textarea>
<label><input type="radio" name="correct" value=2>Correct</label>

由於只有選定的單選按鈕被發布, $_POST['correct']將包含$_POST['choice']數組中正確答案的索引。

然后,您可以執行以下操作,在發送到數據庫之前相應地設置值:

foreach ($_POST['choice'] as $i => $choice) {
    if (!empty($choice)) {

        if($_POST['correct'] == $i){
            $choice_answer = 1;
        } else {
            $choice_answer = 0;
        }

        mysqli_query($server, "INSERT INTO question_choices (question_id,exam_id,choice,answer) VALUES ('$question_id','$current_exam_id','$value','$choice_answer')");
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM