【问题标题】:Retrieve specific column from database and display on screen using CodeIgniter使用 CodeIgniter 从数据库中检索特定列并显示在屏幕上
【发布时间】:2012-07-19 11:56:52
【问题描述】:

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

【问题讨论】:

    标签: forms codeigniter form-fields


    【解决方案1】:

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

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

    $this->load->view('viewname', $data);
    

    【讨论】:

    • 我的意思是当我填充下拉列表时,它会创建 optgroups。但我明白了。在我的模型中,我使用了一个 foreach: foreach($query->result() as $input_type) { $data[] = $input_type->input_type_name; }
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-09
      • 2015-11-22
      • 2012-03-09
      • 2016-02-21
      • 2021-08-18
      相关资源
      最近更新 更多