1

我有一个名为 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;
4

2 回答 2

0

“但这并没有产生预期的效果”是什么意思?

确保将 传递$data给您的视图:

$this->load->view('viewname', $data);
于 2012-07-19T12:16:06.537 回答
0

解决方法很简单,使用一个foreach循环遍历模型中的多维数组:

foreach($query->result() as $input_type) {
    $data[] = $input_type->input_type_name;
}

return $data;
于 2012-12-06T18:34:35.940 回答