php,用foreach循环做选择题选项描述的时候不知如何将$choice{$values[0]}赋给radio的name属性中

想实现一个考试系统,罗列一系列从数据库中打乱顺序的选择题,然后通过单选以及提交按钮,通过后台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

阅读 2.4k
1 个回答

建议用JavaScript来做,百度里很多案例,可以搜一下

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题