2011-10-15 4 views
0

나는 기본적인 퀴즈 프로그램을 만들고 있는데, 끝나면 사용자는 퀴즈를 완료하고 MySQL 데이터베이스에서 퀴즈를 작성하여 데이터베이스에 저장하게됩니다.변수를 증가시키고 일련의 페이지에 라디오 버튼의 값을 기록하는 방법은 무엇입니까?

질문 번호 ($qn)에 대한 변수가 있는데,이 값을 변경하면 질문이 변경되고 데이터베이스에서 다음 질문에 대한 네 가지 가능한 선택 사항이 변경됩니다.

내 질문은 : 기본 폼에 라디오 버튼을 선택한 후 라디오 버튼 결과를 기록한 다음, 다음 질문을 표시하기 위해 $qn을 증가시킨 다음 다시 그 프로세스를 수행하는 버튼을 어떻게 가질 수 있습니까? , $qn == $numberOfQuestions까지, 그 시점에서 페이지 results.php를 보여주고 quiz.php 페이지의 모든 라디오 버튼의 결과를 추가해야합니다.

저는 PHP에 매우 익숙합니다. 특히 바보 같은 질문이거나 불분명 한 방식으로 말하면 유감입니다. 그리고 저는 이것을하기위한보다 쉽고 효율적인 방법이 있다는 제안에 매우 열려 있습니다.

은 어떤 답변을 사전에 당신이 AJAX 요청과 자바 스크립트를 사용한다처럼

+0

당신은 HTML 양식과 PHP에서의 변수를 찾고 있습니다. 이 정보는 PHP Manual : http://www.php.net/manual/en/language.variables.external.php에서 찾을 수있다. – hakre

답변

1

양식 입력을 처리하고 값을 저장 한 후 다음 질문으로 계속 진행하십시오.

초보적인 예 (Demo) :

<h1>Quiz</h1> 
<?php 
$quiz = load_quiz(); 
$states = isset($_GET['state']) ? explode(',', $_GET['state']) : array(); 
$states = array_map('intval', $states); 
$page = count($states)+1; 

if (isset($_POST['answer'])) 
{ 
    $states[$page-1] = (int) $_POST['answer']; 
} 

if ($page > count($quiz)) 
{ 
?> 
<h2>Your selection:</h2> 
<?php 
foreach($quiz as $key => $question) 
{  
    $state = $states[$key]; 
    $answer = $question['answers'][$state]; 
    printf('%s: %s<br />', $question['question'], $answer); 
} 

} 
else 
{ 
?> 
<h2><?php echo $quiz[$page]['question']; ?></h2> 
<form method="post" action="?state=<?php echo implode(',', $states); ?>"> 
<?php 
foreach($quiz[$page]['answers'] as $key => $answer) 
{ 
    printf(
     '<input type="radio" name="answer" id="answer-%d" value="%d"><label for="answer-%d">%s<label><br>', 
     $key, $key, $key, $answer 
    ); 
} 
?> 
<input type="submit" value="Next"> 
</form> 
1

나에게 소리 : 정말 감사 감사합니다. 라디오 버튼을 선택하면 JavaScript로만 가능합니다. 라이브러리를 사용하여 jQuery처럼 쉽게 사용할 수 있습니다. onChange 이벤트와 같은 기능을 살펴보십시오. 또한 Ajax

관련 문제