我有这样的数据
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
有什么解决方案吗?
答案 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;
}