Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Codeigniter 代码点火器-表单_下拉列表,从数据库中选择正确的值_Codeigniter - Fatal编程技术网

Codeigniter 代码点火器-表单_下拉列表,从数据库中选择正确的值

Codeigniter 代码点火器-表单_下拉列表,从数据库中选择正确的值,codeigniter,Codeigniter,我对CodeIgniter中的form_下拉函数有一些问题。。。。我的申请分为两部分,一个用户进入,输入表格并提交。。。。一旦提交,管理员可以进入并编辑该人员表单,然后将其保存到数据库中 因此,要以初始形式显示下拉列表,我使用以下命令(下拉列表中的所有选项都来自数据库) 型号: function get_salaries_dropdown() { $this->db->from($this->table_name); $this->db->o

我对CodeIgniter中的form_下拉函数有一些问题。。。。我的申请分为两部分,一个用户进入,输入表格并提交。。。。一旦提交,管理员可以进入并编辑该人员表单,然后将其保存到数据库中

因此,要以初始形式显示下拉列表,我使用以下命令(下拉列表中的所有选项都来自数据库)

型号:

    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;
}
然后在控制器中:

$data['salaries'] = $this->salary_expectation->get_salaries_dropdown();
最后一个观点是:

<?php echo form_dropdown('salaries', $salaries, set_value('salaries', $salaries));  ?>

该位可以完美地显示下拉列表,该下拉列表中充满了供用户选择的值

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

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


干杯,

表单下拉函数有第三个参数用于所选选项。像这样使用它:

<?php echo form_dropdown('piece_type', 
        array(
            'type1' => 'Firts type',
            'type2' => 'Second option'
            $selected_value, 
            'id = "piece_type"') ?>

根据Codeigniter文档

第一个参数将包含 字段的名称,第二个 参数将包含一个关联的 选项数组,以及第三个 参数将包含您指定的值 希望被选中。你也可以通过 通过 第三个参数,CodeIgniter将 为您创建多个选择

您的管理控制器应该有如下功能

$data['selected'] = $this->salary_expectation->get_salary_selected();
根据这个,admin视图应该是这样的

<?php echo form_dropdown('salaries', $salaries, $selected_value);  ?>

选择由表单帮助程序的
表单下拉菜单()生成的
元素的
元素的一个讨厌的解决方案是使用发送的post输入。 我之所以这样做,是因为我找到的任何解决方案都不会显示用户在表单中选择的值,即set_selected或set_vaule。 在我的控制器中,我有:

$countries = $this->country_model->get_dropdown_array(); // The array have something like $countries[COUNTRY_ID] = COUNTRY_NAME
$data['countries']=$countries;
我认为:

$selected_country = $this->input->post('country');
echo form_dropdown('country',$countries,$selected_country);

而且效果很好!!!:)

我也遇到了同样的问题,但我使用CodeIgniter syntex解决了这个问题。 这是解决办法。 第一步 在循环初始化两个数组之前

$options = array();
$select = array();
然后在循环中写入此指令

foreach($result->result_array() as $row)
{
    /////////Your Condition ////////////
    if($row['id'] == $myarray['mycolumn'])
    {            
        $options [$row['id']] = $row['salaryrange'];
        $select = $row['id'] ; 
    }else{
        $options [$row['id']] = $row['salaryrange'];
    }
}
现在


它工作正常

对于更新情况,您必须传递相应的值以查看,如果传递的变量类似于$ind_post(来自控制器),则编写如下代码:

<?php echo form_dropdown('salaries', $salaries, $ind_post->salaries,'');  ?>


来自codeigniter文档-
第一个参数将包含字段名称,第二个参数将包含选项的关联数组,第三个参数将包含您希望选择的值。
在第三个参数中使用的方法是什么?
我找到了这个codeigniter解决方案
<?php echo form_dropdown('salaries', $salaries, $ind_post->salaries,'');  ?>