2011-09-14 5 views
-1

학생이 각 질문마다 50 개의 질문과 3 개의 선택을하는 시험 시스템을 만들고 전산화했습니다. 그리고 각 탭에 10 개의 질문이있는 탭에 질문을 표시했습니다. 나는 양식을 만들었지 만 게시 된 가치를 얻으려면 혼란 스럽습니다. 배열의 양식에 게시 된 값 얻기

<div id="page-wrap"> 

    <div id="tabs"> 

    <ul> 
     <li><a href="#fragment-1">Questions 1-10</a></li> 
     <li><a href="#fragment-2">Questions 11-20</a></li> 
     <li><a href="#fragment-3">Questions 21-30</a></li> 
     <li><a href="#fragment-4">Questions 31-40</a></li> 
     <li><a href="#fragment-5">Questions 41-50</a></li> 
    </ul> 
<form method="post" action="result.php" > 
    <?php 
    $data = $objQuestion_set->selectDetail($exam_id, $registration_id); 
     $objQuestion_bank = new Question_bank(); 
     ?> 

    <div id="fragment-1" class="ui-tabs-panel ui-tabs-hide"> 
     <?php 
       $value[] = $data['question_1']; 
       $value[] = $data['question_2']; 
       $value[] = $data['question_3']; 
       $value[] = $data['question_4']; 
       $value[] = $data['question_5']; 
       $value[] = $data['question_6']; 
       $value[] = $data['question_7']; 
       $value[] = $data['question_8']; 
       $value[] = $data['question_9']; 
       $value[] = $data['question_10']; 
       for($i = 1; $i <=10; $i++) 
        { 
         $question = $objQuestion_bank->selectDetail($value[$i-1]); 

         echo "<div><p>".$i . '.' . $question['question']."</p>"; 
         echo "<br />"; 
      ?> 
        <input type="radio" id="answer_1_2" name="answer_<?php echo $i;?>" value="<?php echo $question['answer_1'];?>" /><label for="answer_1"><?php echo $question['answer_1'];?></label> 
        <input type="radio" id="answer_1_2" name="answer_<?php echo $i;?>" value="<?php echo $question['answer_2'];?>" /><label for="answer_1"><?php echo $question['answer_2'];?></label> 
       <input type="radio" id="answer_1_2" name="answer_<?php echo $i;?>" value="<?php echo $question['answer_3'];?>" /><label for="answer_1"><?php echo $question['answer_3'];?></label> 
       <input type="hidden" id="question_id_<?php echo $i;?>" name="question_id_<?php echo $i;?>" value="<?php echo $question['question_id']; ?>"class="hidden_element" /> 
     <?php 
          echo "</div>"; 
          echo "<br /><br />"; 
        } 

      ?> 

    </div> 

지금 내가 숨겨진 필드 인 question_id의 게시 된 값을 얻고 그것을 인쇄 할 :

여기 내 코드입니다.

+1

무엇이 문제입니까? –

답변

2

정보를 많이 제공하지 않아 게시 된 코드에 오류가 있으므로 일반적으로이를 답변하고 통합하려고 시도합니다.

의미있는 방식으로 값을 검색하기 위해 엄청나게 복잡한 양식 값에 본질적으로 쓸모없는 이름을 할당하고 있습니다. PHP의 인수 구문 분석은 인수를 배열로 구문 분석하는 유용한 기능을 제공하므로 사용하는 것이 좋습니다.

예를 들어 양식에 다음 입력란과 이름이있는 경우 게시 된 데이터는 매우 간단합니다.

<input type="radio" name="values[<?php print $i; ?>][answer]" value="1"> 
<input type="radio" name="values[<?php print $i; ?>][answer]" value="2"> 
<input type="radio" name="values[<?php print $i; ?>][answer]" value="3"> 
<input type="radio" name="values[<?php print $i; ?>][answer]" value="4"> 
<input type="hidden" name="values[<?php print $i; ?>][question]" value="10"> 

$ i 값이 중요하지 않은 경우에도이 값을 사용할 수 있습니다.

<input type="radio" name="values[][answer]" value="1"> 
<input type="radio" name="values[][answer]" value="2"> 
<input type="radio" name="values[][answer]" value="3"> 
<input type="radio" name="values[][answer]" value="4"> 
<input type="hidden" name="values[][question]" value="10"> 

두 가지 모두 $ _POST 배열을 다음과 같이 멋진 중첩 배열로 만듭니다. 당신이 제출 한 값을 처리하는 방식을 실제로 표시하지 않은

<?php 
$_POST['values'] == array(
    array(
    'answer' => 3, 
    'question' => 1 
), 
    array(
    'answer' => 2, 
    'question' => 2 
) 
) 

, 그래서 난 정말 더 많은 정보를 제공 할 수 있지만, 이것은 쉽게 처리를위한 폼 데이터를 구성하는 가장 좋은 방법입니다.

이 페이지는 몇 가지 매우 기본적인 예제가 있습니다.

+0

정말 고맙습니다. 감사합니다. – Nyaro