CodeIgniter - 向form_dropdown添加默认值

时间:2012-01-16 21:18:02

标签: php codeigniter

我想知道是否有人可以帮助我。我有一个form_dropdown,我正在填充数据库中的选项。我想在列表顶部添加默认的“请选择”值,但如果不将其添加到数据库中,则无法弄清楚如何执行此操作。

我的代码如下:

function populatedropdown()
{
    $query = $this->db->query('SELECT * FROM '.$this->table_name.' WHERE active=1 ORDER BY brand');
    $dropdowns = $query->result();

    foreach($dropdowns as $dropdown) {
        $dropDownList[$dropdown->brand] = $dropdown->brand;
    }
    $finalDropDown = $dropDownList;

    return $finalDropDown;
}

3 个答案:

答案 0 :(得分:11)

另一种写作方式是:

function populatedropdown()
{
    $query = $this->db->query('SELECT * FROM '.$this->table_name.' WHERE active=1 ORDER BY brand');

    if ($query->num_rows() > 0) {
        $dropdowns = $query->result();

        $dropDownList[''] = 'Please Select';    // default selection item
        foreach($dropdowns as $dropdown) {
            $dropDownList[$dropdown->brand] = $dropdown->brand;
        }

        return $dropDownList;
    } else {
        return false;       // return false if no items for dropdown
    }
}

答案 1 :(得分:7)

只需在返回之前将其添加到数组中。

function populatedropdown()
{
    $query = $this->db->query('SELECT * FROM '.$this->table_name.' WHERE active=1 ORDER BY brand');
    $dropdowns = $query->result();

    foreach($dropdowns as $dropdown) {
        $dropDownList[$dropdown->brand] = $dropdown->brand;
    }
    $finalDropDown = array_merge(array('' => 'Please Select'), $dropDownList);

    return $finalDropDown;
}

答案 2 :(得分:0)

还可以更改form_helper.php并添加类似:

的内容
 $form .= '<option value =0 >...</option>';

到form_dropdown函数。但是,我没有选择它作为默认值,而是选择表单中的第二个条目。

但问题是您更改了通常不应该关闭的核心文件。