0

トピックは明確ではありませんが、ıは説明しようとします。

ıはphpテストクイズスクリプトに取り組んでいます。私はjqueryとphpでそれをやりたいです。フォーム内に質問と回答をリストしています。

あなたがフォームを提出するとき、私はそれらをtest.php経由して送っていますが、問題は誰かが空の値を渡さないで答えることを選択$.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 に答える