想实现一个考试系统,罗列一系列从数据库中打乱顺序的选择题,然后通过单选以及提交按钮,通过后台php实现自动阅卷以及存到数据库表里,但是今天在做的时候发现foreach的循环下,使用echo ...type='radio' name='$choice{$values[0]}' ...这条语句时会判错,请大神帮忙一下,以下是我具体的代码:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>考试</title>
</head>
<body>
<?php
header('Content-Type:text/html;charset=utf-8');
$con=new MySQLi('localhost','root','1234','examination');
if(!$con){
die("connect error:".mysqli_connect_error());
}else{
$con->query("set names utf8");
$sql="select * FROM select2";
$r=$con->query($sql);
if(!$r){
echo("试题提取失败");
}else{
$row=mysqli_fetch_all($r);
$rand=array_rand($row,15);
$question=array();
for($i=0;$i<15;$i++){
$question[$i]=$row[$rand[$i]];
}
}
}
?>
<form action="exam.php" method="post">
<?php
$choice=array();
foreach($question as $values){
$selects=explode(";",$values[2]);
echo ($values[0].".".$values[1]."<br>");
for($i=0;$i<count($selects);$i++){
echo("<input type='radio' name='$choice{$values[0]}' value='$i'/>$selects[$i] <br>");
}
echo("<hr>");
}
echo("<input type='submit' name='submit' value='提交试卷'>");
?>
</form>
</body>
</html>
这是错误描述
表名为select2
自己写这段代码的思路出自百度知道,自己也尝试过不使用双数组嵌套而单用$values[0],但是此时POST无法获取正确值,瞎倒腾了一天实在是想不出该怎么处理,请大神指点迷津!顺便告知一下怎么用$_POST[]传递这些radio
建议用JavaScript来做,百度里很多案例,可以搜一下