2012-11-16 4 views
0

PHP를 사용하여 퀴즈를 작성했으며 현재 답변이 한꺼번에 표시됩니다. jquery를 사용하여 한 번에 두 개씩 표시하고 제출 버튼이 있는지 궁금합니다. 그러면 사용자 답변이 데이터베이스에 삽입됩니까? 당신은 Ajax를 사용할 필요가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

: 같은

현재 내 코드 보인다. 먼저 귀하의 기준에 따라 2 개의 질문을 가져옵니다. 그런 다음 버튼을 클릭하여 다음 질문을 가져옵니다 (이전 질문에서 대답으로 한 옵션을 확인한 후). PHP 스크립트에 다음 레코드를 가져올 필요가있는 번호를 전달해야합니다. jQuery ajax을 사용할 수 있습니다.

1

나는 올바른 경로에 당신을 넣기 위해 필요한 자바 스크립트의 간단한 구조를 포함하는 빠른 페이지를 만들었습니다. 메모장 파일에 붙여 넣기를 복사하여 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

수있는 질문이 사라지고 다음 그 자리에이 개 나타납니다 질문 그래서이 작품? – user1611341

+0

그냥 페이지에있는 모든 질문을 숨기고 공개하기 전에 메서드를 추가하십시오 – Billybonks

+0

내가 그 짓을 했어 - 끝내, 제출 대신 첫 번째와 마지막 질문을 말하는 버튼을 어떻게 얻을 수 있습니까? – user1611341

관련 문제