Codeigniter - passing multiple data arrays to a view?

By : Dan C
Source: Stackoverflow.com
Question!

I am trying to populate a dropdown menu on an events page with a list of locations.

What I wish to do is retrieve all names from a locations table, store them in an array in my event.php controller, pass this to a view which then lists all the locations in a dropdown menu.

Here is the loop in my controller which retrieves the locations..

$result = $this->locationModel->get_locations_list();
$arr[] = '';
foreach ($result as $val)
    $arr[$val->id] = $val->name;

I am already passing a variable to my view called $data like so - $this->template->load('admin/template', 'admin/eventEdit', $data);

I have tried passing the $arr variable and the $data array in the above line but this stops the view from rendering.

Please could someone guide me on how to pass the information that is stored in the $arr variable to my view along with the $data variable.

Thanks

Dan

Thanks Dan

New Code

Controller

foreach ($result as $val){ $arr[$val->id] = $val->id; } 
$data['navarr'] = $arr; 

View <?php foreach($navarr as $value) { $html .= '<option value="'.$value['id'].'">'.$value['name'].'</option>'; } echo $html; ?>

By : Dan C


Answers

You need to say

$data['navarr'] = $arr;

And then in the view you will have a variable called navarr to use which will be the array.

Change your controller code to

// I assume you want $val-
By : Josh K


This video can help you solving your question :)
By: admin