1

我正在使用 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

索引显示为灰色。

如何摆脱索引?

提前致谢!

附言

我似乎现在正在使用发送到视图的 data['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');

谢谢!

4

1 回答 1

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;
于 2012-10-18T09:30:07.977 回答