我正在使用form_dropdown()并遇到以下问题:
表单代码为:
echo form_dropdown($ level,$ level_options,'1');
我使用
时有效$level_options = array(
'1' => 'Grade 6',
'2' => 'Grade 7'
);
但不是当我从控制器发送$ data ['levels']来查看
时作为参考,模型数据库检索代码是:
public function getAllLevelNames() {
$query = $this->db->query("SELECT level_description from levels ORDER BY level_description");
return $query->result_array();
}
问题
问题是我得到一个下拉选项列表:
0
Grade 6
1
Grade 7
索引显示为灰色。
如何摆脱索引?
提前致谢!
P.S。
我似乎现在正在使用发送到视图的数据['levels']的表单。现在,我视图中的以下代码似乎向我的控制器返回“null”。有什么想法可以吗?
$level = array(
'name' => 'level',
'id' => 'level',
'value' => '1',
'maxlength' => '50',
'size' => '50',
'style' => 'width:50%',
);
$level_options = $levels;
echo "<p>Level: ";
echo form_dropdown($level,$level_options,'1');
谢谢!
答案 0 :(得分:0)
您需要遍历results_array并创建一个格式正确的新数组。
$query = $this->db->query("SELECT level_description from levels ORDER BY level_description");
$for_dropdown = array();
foreach ($query->result_array() as $row) {
$for_dropdown[$row->level_description] = $row->level_description;
}
return $for_dropdown;
此外,我不确定你的levels
表的结构如何,但通常你会得到某种ID,这将是主键。如果你有这个,你可以将它包含在你的查询中,并改为:
$query = $this->db->query("SELECT id, level_description from levels ORDER BY level_description");
... // other code
$for_dropdown[$row->id] = $row->level_description;