我正在使用连接到MySQL数据库的php进行检查页面。我目前正处于需要检查radiobutton上检查的答案是否正确的部分。
问题:我如何知道检查哪个单选按钮,以及我如何知道该单选按钮上的答案是否等于数据库中的数据?我想显示“CORRECT”如果它是相同的或“INCORRECT”如果它在另一页中是错误的。
这是我的radiobuttons的PHP代码:
$sql = 'SELECT q_question, q_correct, q_answer2, q_answer3, q_answer4 FROM tblquestions WHERE q_category = "' . $legend3 . '" ORDER BY rand() LIMIT ' . $limit3;
$retval = mysql_query($sql,$conn);
if(!$retval)
{
die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
$span1 = $row['q_question'];
$obj1 = $row['q_correct'];
$obj2 = $row['q_answer2'];
$obj3 = $row['q_answer3'];
$obj4 = $row['q_answer4'];
$my_array = array($obj1, $obj2, $obj3, $obj4);
shuffle($my_array);
$rad1 = $my_array[0];
$rad2 = $my_array[1];
$rad3 = $my_array[2];
$rad4 = $my_array[3];
echo '<table width="100%" border="0" cellpadding="1" cellspacing="1">';
echo '<tbody><tr><td colspan="2" width="300" height="40"><span id="question1">' . $count . '. ' . $span1 . '</span></td></tr>';
echo '<tr><tbody><tr><td width="50%"><input name="q' . $nameCTR1 . '" type="radio" class="validate[required] checkbox" id="a[I1A]" value="'. $rad1 .'">A. ' . $rad1 . '</td>';
echo '<td width="50%"><input name="q' . $nameCTR1 . '" type="radio" class="validate[required] checkbox" id="a[I1B]" value="' . $rad2 . '">B. ' . $rad2 . '</td></tr></tbody></tr></tbody>';
echo '<tr><tbody><tr><td width="50%"><input name="q' . $nameCTR1 . '" type="radio" class="validate[required] checkbox" id="a[I1C]" value="' . $rad3 . '">C. ' . $rad3 . '</td>';
echo '<td width="50%"><input name="q' . $nameCTR1 . '" type="radio" class="validate[required] checkbox" id="a[I1D]" value="' . $rad4 . '">D. ' . $rad4 . '</td></tr></tbody></tr></tbody></table>';
echo '<hr width="100%"></hr>';
$nameCTR1 = $nameCTR1 + 1;
答案 0 :(得分:2)
复选框和无线电类型字段在取消选中或未选中时不会发布。
因此,在您的操作脚本(您在表单的操作属性中设置的脚本)中,您可以检查它们的值是否已在$ _POST中设置(如果您的表单方法是POST)。
如果存在,则表示检查或选择字段,否则不会。
答案 1 :(得分:0)
我为你做了一个功能。只需调用函数getRadio(radiobutton的名称),如果选中它,它将返回值。
function getRadio( $radioName ) {
$radio = $_POST[ $radioName ]; // RADIO NAME IS DEFINED IN HTML
if( isset( $radio ) ) {
return $radio;
}
return $radioName . " is not set";
}
*此外,假设您使用的是post方法