Codeigniter - передача нескольких массивов данных в представление? - PullRequest
2 голосов
/ 24 июня 2010

Я пытаюсь заполнить раскрывающееся меню на странице событий списком местоположений.

Что я хочу сделать, это получить все имена из таблицы местоположений, сохранить их в массиве в моем контроллере 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.

Спасибо

Dan

Спасибо Dan

Новый код

Контроллер

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 Ответ

4 голосов
/ 24 июня 2010

Вам нужно сказать

$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
    }
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...