主题不明确但ı会尝试解释。
我正在研究php test-quiz脚本。我希望用jquery和php做到这一点。我正在表格中列出问题和答案。
当您提交表单时,我会通过test.php
将其发送到$.ajax()
,并将其带到$_SERVER['QUERY_STRING']
,但问题是如果有人不选择回答它不通过空值。所以我可以计算刚回答的问题。
这是我的代码:
$data=$_SERVER['QUERY_STRING'];
我正在使用这些数据,但它不包括未回答的问题,因此无法计算点数。
html + php part:
<form id="form1" name="form1" method="post" action="" class="form">
<?php
$sorgu=mysql_query("select * from question");
$i=1;
while($s=mysql_fetch_array($sorgu))
{
$id=$s["id"];
$soru=$s["soru"];
$csorgu=mysql_query("select * from answer where q_id='$id'");
echo $i."-) ".$Question;
$i+=1;
while($c=mysql_fetch_array($csorgu))
{
$soru_id=$c["soru_id"];
$answer=$c["cevap"];
$d=$c["d"];
$cid=$c["id"];
?>
<p>
<label>
<input type="radio" name="<?php echo $soru_id; ?>" value="<?php echo $cid; ?>" />
<?php echo $answer; ?></label>
<label>
</p>
<?php
}
}
?>
</form>
jquery的:
$('#form1').submit(function(){
var myRadio = $("#form1 input[type='radio']:checked").val();
var form=($('#form1').serialize());
$.ajax({
type:"get",
url: "test.php?do=test",
data:form,
success: function(result){
alert(result);
}
});
你不需要我的点数计算系统:
$data=$_SERVER['QUERY_STRING'];
$data2=explode("&",$data);
for ($i=0;$i<count($data2);$i++)
{
$seri = explode("=", $data2[$i]);
$seri_dizi[$i]=$seri[1];
}
unset($seri_dizi[0]);
$answer = array_count_values($seri_dizi);
@$false_answer=($answer["0"]);
$total_question=count($seri_dizi);
if($false_answer=" ") $false_answer=0;
$correct_answer=$total_question-$false_answer;
ı知道正确的答案和错误的答案,但我不知道有多少问题没有得到答复
如果你有任何解决方案,我会在这里。
答案 0 :(得分:0)
最简单的方法可能是为您的问题添加“未答案”回复,默认情况下已选中,如下所示:
例如:
<input type="radio" name="my_question_1" value="0" checked/> Not answered
<input type="radio" name="my_question_1" value="1"/> The first answer
<input type="radio" name="my_question_1" value="2"/> The second answer