2017-06-20 29 views
0

ラジオボタンの値を配列(一時記憶域)に格納しています。 10セットの質問を10セット作成し、それぞれに4つのオプションがあります。今私はどのように多くのラジオボタンがチェックされ、いくつが正しいかをチェックするために配列に格納しています。 問題は現在10の問題があります。データベースが増加するにつれて、より多くの質問がロードされます。Codeigniterに配列の代わりに値を格納する

だから、それらを保存して確認するために、別の方法や他の技術を使用すること。

それが書き込み可能ではありませんので、ここではCodeIgniterの

に新規、その後、私は(コントローラに)保存し、モデル化するために、それをリダイレクトしていたコードと結果表示ページ

public function resultdisplay() 
{ 
    $this->data['checks'] = array(
     'ques1' => $this->input->post('quizid1'), 
     'ques2' => $this->input->post('quizid2'), 
     'ques3' => $this->input->post('quizid3'), 
     'ques4' => $this->input->post('quizid4'), 
     'ques5' => $this->input->post('quizid5'), 
     'ques6' => $this->input->post('quizid6'), 
     'ques7' => $this->input->post('quizid7'), 
     'ques8' => $this->input->post('quizid8'), 
     'ques9' => $this->input->post('quizid9'), 
     'ques10' => $this->input->post('quizid10'), 
     'ques11' => $this->input->post('quizid11'),     
);     
    $this->load->model('quizmodel'); 
    $this->data['results'] = $this->quizmodel->getQueanswer(); 
    $this->load->view('result_display', $this->data); 
} 

その他の方法であり、コードの作成、アレイごとに、すべての新しい質問のための時間とそれらのラジオボタンが

は、私はループを使用する

答えて

0

ありがとうございました。あなたのラジオボタンは次のようになります。

<input type="radio" name="question[1]['a']" value="a"> Question 1, option a<br> 
<input type="radio" name="question[1]['b']" value="b"> Question 2, option b<br> 
... 
<input type="radio" name="question[2]['a']" value="a"> Question 2, option a<br> 
<input type="radio" name="question[2]['b']" value="b"> Question 2, option b<br> 
... 

あなたは、データベースから引っ張っ述べたので、私はあなたがラジオの入力をプリントアウトするループを持っていると仮定します。

あなたのFORループ、HTMLをプリントアウトするには、このようなものになります:ダイナミック1回の使用のために私が撮影したこの

foreach($this->input->post('question') as $index=>$resultArr) { 
// if radio is selected, then $resultArr[0] is the letter option selected and will match the 
// $index value 
} 
0

:PHPで

for($x = 1; $x <= 10; $x++) { // number of questions 
    for($y = "a"; $y <= "e"; $y++) { // number of options for that question 
     echo '<input type="radio" name="question['.$x.'][\''.$y.'\']" value="'.$y.'"> Question '.$x.'<br>'; 
    } 
} 

を、ループがこれですたとえば10の場合、動的に増加することができます。

<form action="/index.php/welcome/getResponse" method="POST"> 
    <?php for($i = 0; $i < 10; $i++){ ?> 
    <div> 
     <label><?php echo ($i+1)."."; ?>&nbsp;&nbsp;</label> 
     <?php for($j = 0; $j < 4; $j++){ ?> 
      <?php echo chr(65+$j); ?><input type="radio" name="<?php echo 'n_'.$i; ?>" value="<?php echo chr(65+$j); ?>">&nbsp;&nbsp; 
     <?php } ?> 
    </div> 
    <br/> 
    <?php } ?> 
    <input type="submit" name="Submit"> 
</form> 

コントローラで

public function getResponse(){ 
    $resp = array(); 
    for($i = 0; $i<10; $i++) 
    { 
     array_push($resp,$this->input->post('n_'.$i)); 
    } 
    print_r($resp); 
} 

出力(サンプル)

Array ([0] => A [1] => B [2] => A [3] => B [4] => C [5] => A [6] => B [7] => C [8] => D [9] => B) 
関連する問題