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