2012-11-16 56 views
0

我已經建立了一個測驗使用PHP和目前的答案是一次顯示,我想知道如果我可以讓他們一次顯示兩個使用jQuery和提交按鈕那會將用戶答案插入數據庫中?jquery提交到數據庫1回答一個時間

目前我的代碼如下所示:

<?php 
//retreive questions from database and put into question box 

$query2 = "SELECT `QuestionId`, `Question`, `Opt1`, `Opt2`, `Opt3`, `Opt4`,`Answer` FROM `pf_questions`"; 

$question2 = mysql_query($query2); 

while($row = mysql_fetch_array($question2)){ 

    $id   = $row['QuestionId']; 
    $question = $row['Question']; 
    $opt1  = $row['Opt1']; 
    $opt2  = $row['Opt2']; 
    $opt3  = $row['Opt3']; 
    $opt4  = $row['Opt4']; 
    $answer  = $row["Answer"]; 

?> 
<div id="ContainerQuestion"> 
    <span class="Question">Question <?php echo $id; ?>. <?php echo $question; ?></span> 

     <p><input type=radio name='q<?php echo $id; ?>' value="a" <?php if($opt1=='a') echo "checked='checked'"' ?>> <?php echo $opt1; ?> </p> 
     <p><input type=radio name='q<?php echo $id; ?>' value="b" <?php if($opt1=='b') echo "checked='checked'"' ?>> <?php echo $opt2; ?> </p> 
     <p><input type=radio name='q<?php echo $id; ?>' value="c" <?php if($opt1=='c') echo "checked='checked'"' ?>> <?php echo $opt3; ?> </p> 
     <p><input type=radio name='q<?php echo $id; ?>' value="d" <?php if($opt1=='d') echo "checked='checked'"' ?>> <?php echo $opt4; ?> </p> 


</div> 
<?php 
} 

?> 

回答

0

你需要使用Ajax。首先取決於您的標準取2個問題。然後點擊一個按鈕來獲取下一個問題(在選擇一個選項作爲上一個問題的答案之後)。你需要傳遞一些告訴php腳本需要獲取下一條記錄的數字。您可以使用jQuery ajax

1

我構建了一個快速頁面,其中包含將您置於正確路徑所需的JavaScript簡單結構。只需將粘貼複製到記事本文件保存爲html運行,然後單擊提交。

<html> 
<head> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script> 
    <style> 
     .Question{ 
      display:none; 
     } 
    </style> 
</head> 
<body> 
    <div id="container"> 
     <p id="1" class="Question">Question 1</p> 
     <p id="2" class="Question">Question 2</p> 
     <p id="3" class="Question">Question 3</p> 
     <p id="4" class="Question">Question 4</p> 
     <button id="submit">Submit</button> 
    </div> 
</body> 
<script> 
    var AmountToRevealPerItteration = 2; 
    var currentIndex=0; 
    var questions; 
    $(document).ready(function(){ 
     questions = $("#container").find('.Question').toArray(); 
     $('#submit').click(function(e){ 
     for(var counter = 1;counter <= AmountToRevealPerItteration;counter++){ 
      revealQuestion(); 
     } 
     }); 
    }); 

    function revealQuestion(){ 
     if(currentIndex == questions.length){ 
      return; 
     } 
     $(questions[currentIndex]).attr('style','display:block'); 
     currentIndex++; 
    } 
</script> 

+0

會這樣工作,使問題消失,然後問題2只出現在自己的位置? – user1611341

+0

你剛剛添加一個方法隱藏頁面上的所有問題的顯示 – Billybonks

+0

oooo我已經做到了 - 真棒,我怎樣才能讓按鈕說第一個和最後一個問題,而不是提交? – user1611341

相關問題