我有一个用于进行在线测试的 php 脚本。在参加考试时,我使用 post 方法在操作页面中获取答案。答案作为带有问题 ID 和所选选项值的数组传递(真或假/候选人输入的答案)。然后我有将候选人标记的答案插入数据库中。代码如下所示:
$student_id=$_POST['name'];
$survey_id=$_POST['survey_id'];
$store = array();
if (isset($_POST['question_id'])) {
foreach ($_POST['question_id'] as $key => $option) {
$option1 = array_filter($option);
print_r($option1);
if (count($option1) > 1) {
$option2 = implode("^", $option1);
$store[] = $option2;
} else {
$value = $option1;
$i = implode(null, $option1);
$store[] = $i;
}
}
print_r($store);
}
$t = new DateTime();
$t->setTimestamp($time = time());
$t->setTimeZone(new DateTimeZone("Asia/Singapore"));
$date = $t->format(DateTime::RFC850);
$SQL = "INSERT INTO answer_table(student_id ,survey_id, ans_1, ans_2, ans_3, ans_4, ans_5, ans_6, ans_7, ans_8, ans_9, ans_10, timestamp) VALUES ('$student_id','$survey_id', '$store[0]', '$store[1]', '$store[2]', '$store[3]', '$store[4]', '$store[5]', '$store[6]', '$store[7]', '$store[8]', '$store[9]', '$date')";
$result = mysql_query($SQL);
如果学生按顺序(从问题编号 1 到 10)回答测试,则代码可以正常工作。但是当候选人以随机方式回答时(前10个然后5个这样),名为ans_1的表字段将插入问题编号10的答案。我需要插入具有相应答案的字段,(ans_1与问题1的答案类似那)无论哪种模式,候选人都会参加考试。
谁能帮我解决这个问题。提前致谢。