我在form_dropdown
中遇到codeigniter
的问题:
这是我的表格:
ee()->load->helper('form');
$sql = ee()->db->select('*')->from('exp_credit_tracker_credit_type')->get();
$credit_type = array();
foreach ($sql->result() as $row) {
array_push($credit_type, $row->credit_name);
}
$data['credit_type'] = form_dropdown('credit_type', array($credit_type));
输出,由于某种原因如下:
<select name="credit_type">
<optgroup label="0">
<option value="0" selected="selected">HOURS</option>
<option value="1">CREDITS</option>
</optgroup>
</select>
我不需要optgroup
。此外,当我查看该值时,我注意到它们是索引键对值。我的问题是我需要使用值CREDIT
和HOURS
,以便稍后我可以轻松地将它们放入我的数据库中。
我该怎么办?一个简单的方法,我不想一次又一次地遍历它们,以便将密钥与值匹配。
答案 0 :(得分:2)
由于您正在制作的数组,<optgroup>
标记正在发生。我相信对foreach
的以下更改将提供您想要的选项值。
foreach($sql->result() as $row)
{
$credit_type[$row->credit_name]=$row->credit_name;
}
然后你需要对form_dropdown()
的第二个参数做一个小改动。在将数组$credit_type
放入另一个数组之前。导致<optgroup>
标记出现的原因。
$data['credit_type'] = form_dropdown('credit_type', $credit_type);
答案 1 :(得分:0)
你需要给它一个value => option label
数组array('HOURS' =>'HOURS')
。你给它一个像array(0 => 'HOURS')