0

すべての入力(質問、選択肢、回答)をデータベースに保存するにはどうすればよいですか?正解をデータベースに保存できません。ラジオボタンで選択した値を取得するにはどうすればよいですか?それとも他にありますか?

<form action="test2.php" method="post">
<?php
if($numMC > 0)
    {

echo "<b>"."MULTIPLE CHOICE QUESTIONS: Enter them below followed by their correct answer."."</b>";
        echo "<br>"; 

        for ($j=1; $j<=$numMC; $j++)
            {?> 
<p><textarea name="question[<?php echo $j; ?>]" rows=3 cols=90>question[<?php echo $j; ?>]</textarea></p>
            <?php for($k=1;$k<=$numchoices;$k++)
                {
                echo $k; ?>
                <input type="radio" name="right[<?php echo $j; ?>]">
                <input type="text" name="choice[<?php echo $j; ?>][<?php echo $k; ?>]" value="choice[<?php echo $j; ?>][<?php echo $k; ?>]"><br />
<?php               }

                echo "<br>"."<br>";
            }

    } ?>

<input type="submit">     

どのラジオボタンが選択されているかをどのように判断し、選択されているラジオボタンの値をどのように取得しますか?

4

1 に答える 1

2

次のような質問を含むテーブルを作成できます。

----------------------------------------------------
| questionId | answer                    | correct |
----------------------------------------------------
| 1          | Possible answer 1a        | 0       |
----------------------------------------------------
| 1          | Possible answer 1b        | 1       |
----------------------------------------------------
| 2          | Possible answer 2a        | 1       |
----------------------------------------------------
| 2          | Possible answer 2b        | 0       |
----------------------------------------------------

次のようにページを作成できます。

$sql = mysql_query("SELECT * FROM questionsTable");
while($row = mysql_fetch_assoc($sql)){
echo '<input type="radio" value="'.$row['answer'].'" name="q'.$row['id'].'"/>
}

フォームが次のように送信された後、回答が正しいかどうかを確認できます。

$sql = mysql_query("SELECT * FROM questions");
while($row = mysql_fetch_assoc($sql)){
    $radioName = 'q'.$row['id'];
    if($row['correct'] == 1){
        //handle a correct answer here
    }
}
于 2012-07-09T15:22:30.417 に答える