我有一个带有下拉列表的编辑表单,用于选择类别。 我还创建了一个从数据库中获取类别的函数。
我为下拉菜单设置了一个数组$opties
以选择表单,并为$selectie
设置了一个名为<tr>
<td><?= form_label('Categorieen'); ?></td>
<td><?= form_dropdown('categorieen', $opties, $selectie); ?></td>
</tr>
的'selected'参数。这个参数包含数据库中该特定公司的类别。
看起来像这样:
print_r($selectie)
问题
为什么我的“选定”部分无效?
当我做Array
(
[12] => Vlaggen
)
时,我得到:
print_r($opties)
这是我在数据库中的类别。
当我做Array
(
[11] => Webdesign
[12] => Vlaggen
[13] => Auto-s
[14] => Electronica
[15] => Boeken
[16] => Antiek-en-Kunst
[17] => Auto-Onderdelen
[18] => Computers-Hardware
[19] => Computers-Software
)
时,我得到:
function updatebedrijven()
{
$dbres = $this->db->get('categorieen');
$ddmenu = array();
foreach ($dbres->result_array() as $tablerow) {
$ddmenu[$tablerow['idcategorieen']] = $tablerow['Categorie'];
}
$data['opties'] = $ddmenu;
$id = $this->uri->segment(3);
$id2 = $this->uri->segment(3);
$data['selected'] = $this->members_model->getselection($id2);
$data['info'] = $this->members_model->getbedrijf($id);
$data['id'] = $id;
$this->load->view('members/header');
$this->load->view('members/editform', $data);
$this->load->view('members/footer');
}
我不知道问题是什么。 一些帮助将不胜感激。
控制器:
//This one is for the $opties
function getbedrijf($id)
{
$this->db->where('idbedrijven', $id);
$query = $this->db->get('bedrijven');
if ($query->num_rows() == 1) {
$row = $query->row_array(0);
return $row;
}
}
//This one is for the $selectie
function getselection($id2)
{
$this->db->from('bedrijfcategorieen');
$this->db->join('categorieen', 'bedrijfcategorieen.idcategorieen = categorieen.idcategorieen');
$this->db->where('bedrijfcategorieen.idbedrijven', $id2);
$query = $this->db->get();
return $query->result();
}
型号:
{{1}}
答案 0 :(得分:2)
form_dropdown
使用数组key => value
作为其'value' and 'option'
,
要从您的下拉列表中选择数据,您将需要所选数据的键,例如您选择
[12] => Vlaggen
要选择它,你需要它的键12
,而不是像
Array
(
[12] => Vlaggen
)
<?
//just for testing
echo form_dropdown('categorieen', $opties, key($selectie));
?>