如何在codeigniter php mysql中创建动态数组

toe95027  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(308)

我真的需要帮助。我有一个从输入单选按钮获取数据的数组。但问题是,由于select语句中的where子句,这些输入按钮可能跟不上确切的数字。

<form method="post" action="<?php echo base_url();?>index.php/Question/resultdisplay">

<?php foreach($questions as $row) {
    ?>

    <?php $ans_array = array($row->correct, $row->wrong, $row->wrong1, $row->wrong2);
    shuffle($ans_array);
    ?>
<p><?=$row->quiz_question?></p>
<input type="radio" name="quizid<?=$row->id?>" value="<?=$ans_array[0]?>" required/><?=$ans_array[0]?><br/>
<input type="radio" name="quizid<?=$row->id?>" value="<?=$ans_array[1]?>"/><?=$ans_array[1]?><br/>
<input type="radio" name="quizid<?=$row->id?>" value="<?=$ans_array[2]?>"/><?=$ans_array[2]?><br/>
<input type="radio" name="quizid<?=$row->id?>" value="<?=$ans_array[3]?>"/><?=$ans_array[3]?><br/>

<?php
}
?>
<br/>
<input type="submit" value="Finish"/>
</form>

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->getQuestions();
  $this->load->view('result_display', $this->data);
 }

我希望数组是动态的。因为如果数据库中的数据超过十一(11),那么用户将无法获得剩余测验的结果。

t5zmwmid

t5zmwmid1#

如果你改变主意 resultdisplay() 函数轮先提取问题,然后寻找每个问题的答案。。。

public function resultdisplay()
{
    $this->load->model('quizmodel');
    $this->data['results'] = $this->quizmodel->getQuestions();
    $this->data['checks'] = [];
    for ( $i = 1; $i <= count($this->data['results']); $i++ )   {
        $this->data['checks'][] = $this->input->post('quizid'.$i);
    }
    $this->load->view('result_display', $this->data);
}

这将以一个数组结束(带有一个数字索引-您可以通过更改 $this->data['checks'][$keyName]= 你想要什么就做什么 $keyName ). 任何遗漏的答案 null ,如果需要,您也可以在 :null; .

相关问题