Code Igniter - form_dropdown从数据库中选择正确的值

Chr*_*ris 5 codeigniter

我在CodeIgniter中的form_dropdown函数有一些问题....我的应用程序分为两部分,一个用户进入,输入一个表单并提交它....一旦提交管理员可以进入并编辑那些人形式然后将其保存到数据库.

因此,要显示初始表单中的下拉列表,请使用以下内容(下拉列表中的所有选项均来自数据库)

模型:

    function get_salaries_dropdown()
{
    $this->db->from($this->table_name);
    $this->db->order_by('id');
    $result = $this->db->get();
    $return = array();
    if($result->num_rows() > 0){
            $return[''] = 'please select';
        foreach($result->result_array() as $row){
            $return[$row['id']] = $row['salaryrange'];
        }
    }
    return $return;
}
Run Code Online (Sandbox Code Playgroud)

然后在控制器中:

$data['salaries'] = $this->salary_expectation->get_salaries_dropdown();
Run Code Online (Sandbox Code Playgroud)

然后最后查看:

<?php echo form_dropdown('salaries', $salaries, set_value('salaries', $salaries));  ?>
Run Code Online (Sandbox Code Playgroud)

该位在显示填充了用户要选择的值的下拉列表时非常有效.

因此,当用户选择一个值,然后点击保存,它保存到数据库.

在管理员看到的编辑页面上,我使用相同的代码显示填充了选项的下拉列表,但是如何让它自动选择用户在初始阶段选择的那个?

干杯,

vik*_*tra 3

根据 Codeigniter 文档

第一个参数将包含字段的名称,第二个参数将包含选项的关联数组,第三个参数将包含您希望选择的值。您还可以通过第三个参数传递多个项目的数组,CodeIgniter 将为您创建一个多选。

你的管理控制器应该有类似的东西

$data['selected'] = $this->salary_expectation->get_salary_selected();
Run Code Online (Sandbox Code Playgroud)

据此,管理视图应该是这样的

<?php echo form_dropdown('salaries', $salaries, $selected_value);  ?>
Run Code Online (Sandbox Code Playgroud)