如何在form_dropdown中显示id和name

时间:2017-05-29 12:30:47

标签: codeigniter

我有这样的数据

kdae |名称     1 | MBC     2 | BBC     3 | CDC

我想在我的form_dropdown中显示

<1 ---- MBC>
<2 ---- BBC>
<3 ---- CDC>

这是我在控制器中的代码

$kdaes = $this->master_order->get_list_kdaes();
        $opt = array('' => 'All AE');
        foreach ($kdaes as $kdae) {
            $opt[$kdae] = $kdae;
        }
        $data['form_kdae'] = form_dropdown('',$opt,'','id="kdae" name="kdae" class="form-control"');

这是我模型中的代码

public function get_list_kdaes()
    {
        $this->db->select('kdae','Nama');
        $this->db->from($this->table1);
        $this->db->order_by('kdae','asc');
        $query = $this->db->get();
        $result = $query->result();

        $kdaes = array();
        foreach ($result as $row) 
        {
            $kdaes[] = $row->kdae;
        }
        return $kdaes;
    }

和我的观点代码

<input name="kodecat" type="text" hidden>
                        <div class="form-group">
                            <label for="kdae" class="col-sm-3 control-label">Kode AE</label>
                            <div class="col-sm-3">
                                <?php echo $form_kdae; ?>
                            </div>
                        </div>

但如果我运行我的form_dropdown就像这样显示

1
2
3

有什么解决方案吗?

3 个答案:

答案 0 :(得分:1)

语法为from_dropdown(name,options,selected_option,extra attribute )

所以它应该是

 form_dropdown('kdae',$opt,'','id="kdae" class="form-control"');

答案 1 :(得分:0)

您的模型中有一个不必要的foreach循环,只需执行:

return $query->result();
在控制器中

检索从模型返回的数据:

foreach ($kdaes as $row) {
    $opt[$row->kodeae] = $row->kodeae. ' --- '.$row->Nama;
}

提示:注意你的select子句,因为你有小写(kodae)和其他大写(Nama)的列,检查这是否是核心...

答案 2 :(得分:0)

试试这段代码:

public function get_list_kdaes()
{
    $this->db->select('kdae','Nama');
    $this->db->from($this->table1);
    $this->db->order_by('kdae','asc');
    $query = $this->db->get();
    $result = $query->result_array();

    $kdaes = array();
    foreach ($result as $row) 
    {
        $kdaes[$row['kdae']] = $row['Nama'];
    }
    return $kdaes;
}