我正在尝试使用位置列表填充事件页面上的下拉菜单。
我想要做的是从位置表中检索所有名称,将它们存储在我的event.php控制器中的数组中,将其传递给视图,然后在下拉菜单中列出所有位置。
这是我的控制器中的循环,用于检索位置..
$result = $this->locationModel->get_locations_list();
$arr[] = '';
foreach ($result as $val)
$arr[$val->id] = $val->name;
我已经将一个变量传递给我的视图,称为$ data,如此 - $this->template->load('admin/template', 'admin/eventEdit', $data);
我已尝试在上面的行中传递$ arr变量和$ data数组,但这会阻止视图呈现。
请有人指导我如何将$ arr变量中存储的信息与$ data变量一起传递给我的视图。
由于
丹
由于 丹
新代码
控制器
foreach ($result as $val){ $arr[$val->id] = $val->id; }
$data['navarr'] = $arr;
查看
<?php foreach($navarr as $value) { $html .= '<option value="'.$value['id'].'">'.$value['name'].'</option>'; } echo $html; ?>
答案 0 :(得分:4)
你需要说
$data['navarr'] = $arr;
然后在视图中,您将使用一个名为navarr
的变量来使用该变量。
将控制器代码更改为
// I assume you want $val->id and $val->name
foreach ($result as $val){ $arr[$val->id] = $val->name; }
$data['navarr'] = $arr;
假设我正在正确读取您的代码,您需要从数组中提取键/值对,如下所示:
<?php
foreach($navarr as $key => $value)
{
?>
<option value="<?php echo $key; ?>"><?php echo $value; ?></option>
<?php
}
?>