我是一个新手PHP devloper,我想实现一个在线考试系统。我想实现一个系统,一次询问一个问题,即在回答第一个问题后点击newxt,然后显示第二个问题。怎么实现这个?我必须通过会议实施吗?我正在使用循环但循环显示20个问题一个接一个的帮助。
答案 0 :(得分:1)
一种非常简单的方法是实现每个问题都相同的html结构。 在php中,在页面的开头,您只需检查发布数据,如果没有,则加载第一个问题(在数据库中,或者根据需要进行硬编码)。 如果有帖子数据,你检查问题ID是否存在,保存用户的答案,然后加载下一个问题。
看起来有点像:
<?php
function loadQuestion($id){
//your logic to load the question
return $question;
}
function saveAnswer($id,$answer){
//your logic to save the answer
}
if($_POST){
saveAnswer($_POST['id_question'],$_POST['answer'])
$data = loadQuestion($_POST['id_question']+1);
}
else $data = loadQuestion(1); //first question
?>
<form method="POST">
<input type="hidden" name="id_question" value="<?php echo $data["id_question"]; ?>" />
<div class="questionDiv">
<?php echo $data["question"]; ?>
</div>
answer:
<input type="text" value="" name="answer" />
<input type="submit" value="send" />
</form>
答案 1 :(得分:0)
你可以使用会话,是的。使用会话将允许您在一个页面中编写所有问题和所有内容,然后您可以使用开关/案例块在页面中抽出正确的问题。在表单上使用post方法,在页面顶部检查帖子是否已设置,如果是,请将数据推送到正确的mysql语句,并显示下一个问题(基于会话变量)。