0

我正在制作一个测验系统,并尝试了一种从 MySQL 获取变量和值的不同方法。

$question = mysql_query("SELECT * FROM `questions`");
$stat = mysql_fetch_assoc($question);
$num = mysql_num_rows($question);
$questionid = 0;
for($i=0;$i<=$num;$i++)
{
$question = mysql_query("SELECT * FROM `questions` WHERE `id`='$i'");
$stat = mysql_fetch_assoc($question);
//if($stat['answer'] == null
echo $stat['question'] . '<br />';
echo '<input type="radio" name="' . $i .'" value="' . $questionid . '" />' . $stat['answer1'] . '<br />';
echo '<input type="radio" name="$i" value"$questionid" />' . $stat['answer2'] . '<br />';
echo '<input type="radio" name="$i" value"$questionid" />' . $stat['answer3'] . '<br />';
echo '<input type="radio" name="$i" value"$questionid" />' . $stat['answer4'] . '<br />';
$questionid++;
}

现在,我想让这个人选择正确的答案,但是当我尝试在问题 1 中选择答案,然后在问题 2 中选择答案时,它可能不会让我选择,因为收音机具有相同的名称 - 我不知道如何使学生可以在每个问题中选择一个答案以及如何选择(将其存储在变量中并检查答案是否正确)。

4

2 回答 2

0

您遇到了 PHP 变量和引号('/")的问题。未正确使用连接运算符。

name="'.$i.'" value="'.$questionid.'"

       /\ /\       /\         /\

见代码:

for($i=0;$i<=$num;$i++)
{
$question = mysql_query("SELECT * FROM `questions` WHERE `id`='$i'");
$stat = mysql_fetch_assoc($question);
//if($stat['answer'] == null
echo $stat['question'] . '<br />';
echo '<input type="radio" name="' . $questionid .'" value="' . $stat['answer1'] . '" />' . $stat['answer1'] . '<br />';
echo '<input type="radio" name="' . $questionid .'" value="' . $stat['answer2'] . '" />' . $stat['answer2'] . '<br />';
echo '<input type="radio" name="' . $questionid .'" value="' . $stat['answer3'] . '" />' . $stat['answer3'] . '<br />';
echo '<input type="radio" name="' . $questionid .'" value="' . $stat['answer4'] . '" />' . $stat['answer4'] . '<br />';
$questionid++;
}
于 2013-01-22T15:51:10.113 回答
0

我不认为您的做法那么好。我认为迭代代码的最佳方法是 while() 循环。就像

$all = mysql_query("SELECT * FROM 'questions'");
while($all_array=mysql_fetch_array($all))
{
$question = mysql_query("SELECT * FROM questions WHERE id='".$all_array['id']."'");
while($stat=mysql_fetch_array(question)){
echo $stat['question'] . '<br />';
echo '<input type="radio" name="' .$stat['id'].'" value="' . $stat['answer1'] . '" />' . $stat['answer1'] . '<br />';
echo '<input type="radio" name="' .$stat['id'].'" value="' . $stat['answer2'] . '" />' . $stat['answer2'] . '<br />';
echo '<input type="radio" name="' .$stat['id'].'" value="' . $stat['answer3'] . '" />' . $stat['answer3'] . '<br />';
echo '<input type="radio" name="' .$stat['id'].'" value="' . $stat['answer4'] . '" />' . $stat['answer4'] . '<br />';
}
}
于 2013-01-23T06:50:43.333 回答