2015-11-28 34 views
0

我有一次一個頁面quiz.html-即測驗如何提交答案,比分是

問題1月10問題: 你叫什麼名字?

<option value="a">a</option> 
<option va..>b</option>...  
<option va...>e</option> 

問題2: 什麼是美國國旗的顏色?

<option>a</option> 

等等。

我的問題是我如何一次提交這個問題,並將+1添加到數據庫中的每個正確答案的分數字段?

我可以做儲蓄和打分如果每個頁面只有1個問題即

select * from quiz where id='qid' 

然後

while($fetch=mysql_fetch_row($query)){ 
    if($fetch["answer"]==$useranswer){ add +1 to his score; } 
} 

但是對於很多的問題,我不知道該怎麼辦。

的HTML的結構是:

<form action="quizer.php" method="post"> 
    <input type="hidden" name="q1" value="qid"> what is your name? 
    <option value="a">rolex</option> 
    <option value="b">wales</option> 
    <option value="c">israel</option> 
    <option value="d">ade</option> 

    <br> 
    <input type="hidden" name="q2" value="qid"> 
    is nigeria a country? 
    <option value="a">no</option> 
    <option value="b">yes</option> 

    and so on... 
    <input type="submit"> 
</form> 
+0

測驗的表格結構如何?用戶分數如何?結合當前的問題?結合所有問題包括回答問題?預期的結果是什麼? –

+0

表測驗有字段.. id,question,optionA,optionB,optionC,optionD, correct_answer然後在表中用戶我有一個字段,它將保持得分。如果用戶完成嘗試提問並單擊提交,我如何獲得每個用戶選擇的選項,然後根據用戶正確選擇的選項更新表用戶的增加分數 – seybanks

+0

您可能還需要共享一些html - 如何命名字段? – RamRaider

回答

0

假設的問題是使用的選擇菜單爲您排序的建議那麼這應該幫助 - 儘管它沒有進行測試......

<?php 
    /* quizer.php */ 
    if($_SERVER['REQUEST_METHOD']=='POST'){ 
     /* select correct answers from db */ 
     $sql='select * from `quiz`'; 
     $res=mysql_query($sql, $con); 

     /* store answers in an array for marking */ 
     $answers=array(); 
     $score=0; 
     $index=0; 

     /* populate the answers array */ 
     while($rs=mysql_fetch_object($res)){ 
      $answers[]=$rs->correct_answer; 
     } 

     /* mark the answers */ 
     foreach($_POST as $question => $answer){ 
      echo $question.' '.$answer; 
      if($answer === $answers[ $index ]) $score++; 
      $index++; 
     } 
     /* update the db */ 
     $sql="update `user` set `score`=$score where `username`='$username';"; /* etc */ 
    } 
?> 



<form action="quizer.php" method="post"> 
    <!-- assume select menus for questions and possible answers --> 
    <label for='q1'>what is your name? 
     <select name='q1'> 
      <option value="a">rolex</option> 
      <option value="b">wales</option> 
      <option value="c">israel</option> 
      <option value="d">ade</option> 
     </select> 
    </label> 

    <br /> 

    <label for='q2'>is nigeria a country? 
     <select name='q2'> 
      <option value="a">no</option> 
      <option value="b">yes</option> 
     </select> 
    </label> 

    <br /> 

    <input type="submit" value='Submit Quiz'> 
</form> 
+0

它肯定會有所幫助..感謝這麼多 – seybanks

+0

我已經測試過,它似乎工作〜唯一的區別是,我使用mysqli而不是mysql(這,btw,已棄用,不應再使用!) - 如果它幫助,接受答案') – RamRaider