php测试脚本通过jquery,将值传递给php文件

时间:2012-08-29 11:25:48

标签: php jquery

主题不明确但ı会尝试解释。

我正在研究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;

ı知道正确的答案和错误的答案,但我不知道有多少问题没有得到答复

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

1 个答案:

答案 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