2016-04-06 10 views
0
for ($i=0; $i<$total_questions_for_exam; $i++) { 


     $question_id= $question_and_answers[$i]['question_id']; 
     $numberofanswersperquestion = count_answers_belongToOne_questionNew($question_id); 
     //die(var_dump($question_id)); 
     $student_answer_per_question = retrieve_student_result ($_SESSION['user_id'], $_GET['quiz_id'], $question_id); 
     $correct_answer = $numberofanswersperquestion[0]['answer_name']; 

     echo ' <form method="post" id="review_form" name="review_form" action="view_user_summary.php"> 
      <table class="table table-bordered table-condensed table-datatable table-hover review_marks"> 
       <tbody> 

        <tr> 
         <td style="text-align: left;" width="100%"><strong>Question '. ($i+1) .'</strong></td> 
        </tr> 
        <tr> 
         <td style="text-align: left;" width="100%">' . $question_and_answers[$i]['question_name'] .'</td> 
        </tr>'; 

        if($student_answer_per_question == '') 
         echo '<tr> 
           <td style="text-align: left;" width="100%" class="warning"><em>Question Not attempted</em><br><strong>Correct Answer is </strong><br>' . $numberofanswersperquestion[0]['answer_name'] . '</td> 
          </tr>'; 

        else if ($student_answer_per_question == $correct_answer) 

        echo '<tr> 
           <td style="text-align: left;" width="100%" class="success"><strong>Your answer is correct.</strong><br>' . $student_answer_per_question .'</td> 
          </tr>'; 

        else 
         echo '<tr> 
            <td style="text-align: left;" width="100%" class="danger"> 
             <table style="width: 100%"> 
              <tbody> 
               <tr> 
                <th style="width: 50%"><strong>Your Answer</strong></th> 
                <th style="width: 50%"><strong>Correct Answer</strong></th> 
               </tr> 
               <tr> 
                <td style="width: 50%">' . $student_answer_per_question . '</td> 
                <td style="width: 50%">' . $correct_answer .'</td> 
               </tr> 
              </tbody> 
             </table> 
            </td> 
           </tr>'; 

        echo 

        '<tr> 
         <td style="height: 5px;" width="100%">&nbsp;</td> 
        </tr> 

        <tr> 
        <td style="height: 5px;" width="100%">&nbsp;</td> 
        </tr> 

       </tbody> 
      </table> 

      <div class="[ form-group ] correct_answer"> 
       <input type="checkbox" name="fancy-checkbox-primary" id="fancy-checkbox-primary" autocomplete="off" /> 
       <div class="[ btn-group ]"> 
        <label for="fancy-checkbox-primary" class="[ btn btn-primary ]"> 
         <span class="[ glyphicon glyphicon-ok ]"></span> 
         <span> </span> 
        </label> 
        <label for="fancy-checkbox-primary" class="[ btn btn-default active ]"> 
         Correct Answer 
        </label> 
       </div> 
      </div>'; 

} 

echo '<button class="btn btn-large btn-block btn-primary submitbutton" type="submit" style="margin-top:100px;" name="submit_review">Submit Review</button></form>'; 

こんにちは、このコードは基本的に私のデータベースのすべての質問とasnwersをプルします。私が達成しようとしているのは、このforループ内にチェックボックスを入れて、ユーザが答えが正しいと言うボックスをチェックしたり、何もしないと答えが間違っていると仮定したりすることです。フォーム内の任意のチェックボックスをチェックするにはどうすればよいですか?

Screenshot of how it looks

それは私がそれになりたかったが、私は第二のチェックボックスをクリックしたときに一つの問題は、最初のものはまだ私は第二のチェックボックスのコントロールを持っていない、刻々と過ぎてどのように表示されます。どのように私はこれを修正するために行くことができる任意のアイデア?

私が言ったことのビデオを表示することをお勧めします。私はそれにリンクを提供しています。

Problem

答えて

1

あなたは、ループ内でこれを持っている:

<input type="checkbox" name="fancy-checkbox-primary" id="fancy-checkbox-primary" autocomplete="off" /> 

あなたのチェックボックスがすべて同じidを持っていることを意味します。これは無効なマークアップであり、そのコードを使用しようとするコードの動作は定義されません。id名前が示すように要素識別ことを意味する、

id(これは、最初に一致した要素、最後の整合素子、一致するすべての要素を、一致する要素などを見つけるかもしれません)。要素を適切に識別できるようにマークアップを修正する必要があります。また、要素を識別するコードを調整する必要があります。

ループ内のidに値を追加して、それぞれを一意にすることができます。または、おそらくidの代わりにclassを使用してください。問題のコードから私は本当に、後者に話すことはできませんが、前者は単純で十分なはずです:

<input type="checkbox" name="fancy-checkbox-primary" id="fancy-checkbox-primary-' . $i . '" autocomplete="off" /> 

(注:私はあなたがこれらのスタイルを使用しているメカニズムに完全に慣れていませんよチェックボックスをオンにすると、ここにいくつかのプラグインがあることがわかります。nameおよび/またはforの属性もこのidの値に関連して同様に変更する必要がある可能性があります。 id

コードの意味はまだ100%はっきりしていませんが、ではないので、あなたのニーズに合わせて調整する必要があります。しかし根本的にここでの問題は、繰り返されるidの値です。

+0

お返事ありがとうございます。とにかくチャットルームに持ち込むことができますか?それはあなたとうまくいけば? –

+0

@ jomin_george94:私は質問に答えるためだけに、会話をするためにここにいるわけではありません。問題に関する何らかの明確化または問題に関する追加情報がある場合、それは質問自体に含まれるべきであり、同じ問題を持つ他の人々も助けることができるプライベートセッションではない。 – David

+0

これはIDに変数$ iを追加しようとしたもので、それはまったく動作しないようですが、代わりに最初のボックスのチェックボックスもチェックしません。 –

関連する問題