0

主题不清楚,但我会尝试解释。

我正在编写 php 测试测验脚本。我想用 jquery 和 php 来做。我在表格中列出问题和答案。

当您提交表单时,我将它们发送到test.phpvia$.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;

我知道正确答案和错误答案,但我不知道有多少问题没有回答

如果你有任何解决方案我在这里。

4

1 回答 1

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
于 2012-08-29T11:31:08.717 回答