主题不清楚,但我会尝试解释。
我正在编写 php 测试测验脚本。我想用 jquery 和 php 来做。我在表格中列出问题和答案。
当您提交表单时,我将它们发送到test.php
via$.ajax()
并随身携带,$_SERVER['QUERY_STRING']
但问题是如果有人不选择回答,它不会传递空值。所以我可以计算刚刚回答的问题。
这是我的代码:
$data=$_SERVER['QUERY_STRING'];
我正在处理这些数据,但它不包括未回答的问题,所以我无法计算点。
html+php部分:
<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;
我知道正确答案和错误答案,但我不知道有多少问题没有回答
如果你有任何解决方案我在这里。