我已经使用php构建了一个测验,目前答案一次显示,我想知道我是否可以使用jquery一次显示两个,并有一个提交按钮,将用户的答案插入到数据库?
目前我的代码如下:
<?php
//retreive questions from database and put into question box
$query2 = "SELECT `QuestionId`, `Question`, `Opt1`, `Opt2`, `Opt3`, `Opt4`,`Answer` FROM `pf_questions`";
$question2 = mysql_query($query2);
while($row = mysql_fetch_array($question2)){
$id = $row['QuestionId'];
$question = $row['Question'];
$opt1 = $row['Opt1'];
$opt2 = $row['Opt2'];
$opt3 = $row['Opt3'];
$opt4 = $row['Opt4'];
$answer = $row["Answer"];
?>
<div id="ContainerQuestion">
<span class="Question">Question <?php echo $id; ?>. <?php echo $question; ?></span>
<p><input type=radio name='q<?php echo $id; ?>' value="a" <?php if($opt1=='a') echo "checked='checked'"' ?>> <?php echo $opt1; ?> </p>
<p><input type=radio name='q<?php echo $id; ?>' value="b" <?php if($opt1=='b') echo "checked='checked'"' ?>> <?php echo $opt2; ?> </p>
<p><input type=radio name='q<?php echo $id; ?>' value="c" <?php if($opt1=='c') echo "checked='checked'"' ?>> <?php echo $opt3; ?> </p>
<p><input type=radio name='q<?php echo $id; ?>' value="d" <?php if($opt1=='d') echo "checked='checked'"' ?>> <?php echo $opt4; ?> </p>
</div>
<?php
}
?>
答案 0 :(得分:1)
我构建了一个快速页面,其中包含一个简单的javascript结构,可以让您走上正确的道路。只需将粘贴复制到记事本文件中另存为html,然后单击“提交”。
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>
<style>
.Question{
display:none;
}
</style>
</head>
<body>
<div id="container">
<p id="1" class="Question">Question 1</p>
<p id="2" class="Question">Question 2</p>
<p id="3" class="Question">Question 3</p>
<p id="4" class="Question">Question 4</p>
<button id="submit">Submit</button>
</div>
</body>
<script>
var AmountToRevealPerItteration = 2;
var currentIndex=0;
var questions;
$(document).ready( function (){
questions = $("#container").find('.Question').toArray();
$('#submit').click(function(e){
for(var counter = 1;counter <= AmountToRevealPerItteration;counter++){
revealQuestion();
}
});
});
function revealQuestion(){
if(currentIndex == questions.length){
return;
}
$(questions[currentIndex]).attr('style','display:block');
currentIndex++;
}
</script>
答案 1 :(得分:0)
您需要使用Ajax。首先根据您的标准获取2个问题。然后单击一个按钮以获取下一个问题(在从前一个问题中选择一个选项作为ans之后)。你需要传递一些告诉php脚本需要获取下一条记录的数字。你可以使用jQuery ajax。