我有一个名为 input_types 的数据库表,其中包含各种输入类型:
[id] [input_type_Name]
1 text
2 radio
3 checkbox
4 select
... ...
我想从表中检索名称并将它们放入一个数组中,以便我可以使用 form_dropdown 在下拉列表中将它们显示给用户。
我现在这样做的问题是我创建了选项组。
我现在怎么做:
模型
function get_inputTypes() {
$this->db->select('input_type_name');
$query = $this->db->get('input_types');
if($query->num_rows() > 0) {
return $query->result_array();
}
else {
return false;
}
}
控制器
$results = $this->survey_model->get_inputTypes();
$data['inputTypes'] = $results;
看法
<label for="inputType">Input type:</label>
<?php echo form_dropdown('inputType', $inputTypes); ?>
然而,这不会产生预期的效果。我的下拉列表被填充,但因为我有一个多维数组,所以下拉列表有 optgroups。
我只想将我选择的数据放在一个简单的数组中。为什么这在 CodeIgniter 和 php 中通常如此困难。
C# 更容易:/
解决方案
解决方法很简单,使用一个foreach循环遍历模型中的多维数组:
foreach($query->result() as $input_type) {
$data[] = $input_type->input_type_name;
}
return $data;