php - 循环发布数组以使动态
问题描述
我想让这段代码更简单、更干净,我正在制作测验应用程序,所以我有 20 个答案。现在这个问题是如果我想让它成为 50 个答案。我不想输入 50 个新答案。
该代码运行良好,但问题是全部都是静态编码的。我怎样才能简化它以更有效地添加问题?我使用单选按钮作为其输入。这也是主要问题,因为它没有动态。我可以循环这个吗?之前尝试过,但没有按预期工作
public function resultDisplay(){
$this->data['checks'] = array(
'quest1' => $this->input->post('quizId1'),
'quest2' => $this->input->post('quizId2'),
'quest3' => $this->input->post('quizId3'),
'quest4' => $this->input->post('quizId4'),
'quest5' => $this->input->post('quizId5'),
'quest6' => $this->input->post('quizId6'),
'quest7' => $this->input->post('quizId7'),
'quest8' => $this->input->post('quizId8'),
'quest9' => $this->input->post('quizId9'),
'quest10' => $this->input->post('quizId10'),
'quest11' => $this->input->post('quizId11'),
'quest12' => $this->input->post('quizId12'),
'quest13' => $this->input->post('quizId13'),
'quest14' => $this->input->post('quizId14'),
'quest15' => $this->input->post('quizId15'),
'quest16' => $this->input->post('quizId16'),
'quest17' => $this->input->post('quizId17'),
'quest18' => $this->input->post('quizId18'),
'quest19' => $this->input->post('quizId19'),
'quest20' => $this->input->post('quizId20'),
);
$this->load->model('quiz_model');
$this->data['results'] = $this->quiz_model->getQuestions();
$this->load->view('templates/header');
$this->load->view('activity/result_display', $this->data);
$this->load->view('templates/footer');
}
我查看页面源图像,这里是单选按钮的数组,您可以在突出显示的名称上看到它
这是我的单选按钮,我需要将其设为数组吗?如何?
<?php $i = 'A';
foreach($ans_array AS $array_value):
?>
<?= $i; ?>.
<input type="radio" name="quizId<?= $question->id ?>" value="<?= $array_value ?>" required /> <?= $array_value ?> <br>
<?php
$i++;
endforeach;
?>
解决方案
使用数组会更有效。你可以这样做:
<input type="radio" name="quizId[<?= $question->id ?>]" value="<?= $array_value ?>" required /> <?= $array_value ?> <br />
因此,在post
您可以遍历整个循环并获得您的帖子结果后,例如:
foreach($this->input->post('quizId') as $val){
//work with each value here
}
就像我看到的那样,您可以通过这种方式更新控制器:
$this->data['checks'] = $this->input->post('quizId');
您将整个数组发送到view
. 现在在view
文件中,您需要将键值指定为 like quizId . $key
。
推荐阅读
- javascript - 我的问题是关于使用 javascript 以正确的方式将“html 代码”加载到 iframe 中
- javascript - 无法绑定到“模式”,因为它不是“mat-sidenav”的已知属性
- mysql - Model MVC Express API - 错误“connection.query 不是函数”
- amazon-web-services - Haproxy 多实例 - 服务后端不稳定 5 分钟
- mongodb - 如何在mongodb中获取其他元素以及arrayToObject?
- javascript - 语句未按预期执行
- javascript - 使用 htaccess 重写 URL 得到 404 错误 - AngularJS html5 模式
- encoding - 相同的文本但不相等,如何转换为相同的编码?
- php - 查询未在php中成功执行
- c++ - C ++比较2个字符串