codeigniter form_下拉列表返回错误值
我的模特codeigniter form_下拉列表返回错误值,codeigniter,Codeigniter,我的模特 function get_partners_name() { $q = $this->db->select("id,fname,lname") ->from('partner'); $all_partners = $q->get()->result(); $data = array(); foreach($all_partners as $partner) {
function get_partners_name()
{
$q = $this->db->select("id,fname,lname")
->from('partner');
$all_partners = $q->get()->result();
$data = array();
foreach($all_partners as $partner)
{
$data[$partner->id] = $partner->fname.' '.$partner->lname;
}
return $data;
}
我的控制器变量转储($partners)数据是
在我看来,
<?php array_unshift($partners, "-Select-");?>
<?php echo form_dropdown('parnter', $partners,'',''); ?>
所以我想在下拉列表中显示
<option value='0'>-Select-</option>
<option value='38'>Mahesh</option>
<option value='40'>Rahul</option>
-选择-
马赫什
拉胡尔
但它显示,
<option value='0'>-Select-</option>
<option value='1'>Mahesh</option>
<option value='2'>Rahul</option>
-选择-
马赫什
拉胡尔
来自PHP手册
'array_unshift()将传递的元素前置到数组的前面。请注意,元素列表作为一个整体预先添加了前缀,以便预先添加的元素保持相同的顺序。所有数字数组键将被修改为从零开始计数,而文字键将不会被触摸。”
因此,在使用unshift
时,您的密钥将被重新编号
由于不应选择select
选项,我建议将其硬编码到视图中。如果不希望用户选择,也不要给它赋值
<select name='foo'>
<option disabled>-Select-</option>
<?php
foreach($partners as $partner){
echo '<option value="';
echo $partner->id;
echo '">';
echo $partner->name;
echo '</option>';
}
?>
</select>
-挑选-
<select name='foo'>
<option disabled>-Select-</option>
<?php
foreach($partners as $partner){
echo '<option value="';
echo $partner->id;
echo '">';
echo $partner->name;
echo '</option>';
}
?>
</select>