Codeigniter - 将多个数据数组传递给视图?

时间:2010-06-24 13:31:35

标签: php codeigniter arrays drop-down-menu

我正在尝试使用位置列表填充事件页面上的下拉菜单。

我想要做的是从位置表中检索所有名称,将它们存储在我的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; ?>

1 个答案:

答案 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
    }
?>