【发布时间】:2015-03-23 10:21:59
【问题描述】:
我正在尝试使用 Codeigniter 在表单选择元素中选择选项项
型号
function get_sections_provider($provider)
{
$this->db->select('*');
$this->db->from('providers');
$this->db->where('providers.id', $provider);
$this->db->join('sections', 'sections.id = providers.section_id');
$query = $this->db->get();
return $query->result();
}
function get_all_sections_element()
{
$query = $this->db->get('sections');
return $query->result();
}
控制器
public function edit($id)
{
$data['element'] = $this->admin_model_providers->get_element_provider($id);
$data['element']->sections = $this->admin_model_providers->get_sections_provider($id);
$data['element']->sections_all = $this->admin_model_providers->get_all_sections_element();
$data['title'] = '';
$this->load->view('admin/admin_provider_edit', $data);
}
查看
<?
foreach($element->sections as $key => $row){
$selected[$key] = $row->id;
}?>
<select name="sections" class="chosen-select" id="" data-placeholder="" multiple>
<?
foreach($element->sections_all as $key => $value){?>
<option value="<?=$value->id?>" <?=(in_array($value->id, $selected) ) ? "selected = 'selected'" : "" ;?> ><?=$value->title;?></option>
<?}
?>
</select>
结果是最后一个id 抱歉,我的英语不好,无法详细描述问题
【问题讨论】:
-
你能告诉我们你在$element中得到的数组结构吗
-
我更新了问题
-
您是在
$data['element']->sections内获取数组还是单个值。 -
如果我这样做 foreach($element->sections as $key => $row){ echo $row->id; } 有多个
-
那么您是在页面内的多个位置使用
$data['element']->sections,还是仅用于select选项,如果它用于一个选择,请考虑您只会从查询中收到特定的ID
标签: php codeigniter