Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Passing variable from controller to view in CodeIgniter

Tags:

I'm new to Codeigniter and OOP PHP.

Controller:

public function index(){     $this->load->model('main_model');     $planet = $this->main_model->solar();     $this->load->view('main_view', $planet);         } 

If echo $planet in the controller it does what it's supposed to do. If I echo $planet in the view I get an undefined variable error. $planet is not an array. Why isn't the $planet variable being passed to the view?

I know this is a simple and basic question and I'm embarrassed that I can't figure out what I'm doing wrong.

EDIT: Okay, after more fiddling around, I got it to work. Can variables only be passed from Controller to View when they're formatted as an array?

like image 783
user1616244 Avatar asked Sep 06 '12 06:09

user1616244


1 Answers

You have to pass an array to the view. CodeIgniter automatically makes $planet available to you.

$data = array('planet' => $planet); $this->load->view('main_view', $data); 

With this you can use $planet in your view.

E.g., if you do the following:

$data = array('foo' => 'Hello', 'bar' => 'world'); $this->load->view('main_view', $data); 

$foo and $bar will be available in your view. The key-value pairs in the array are automatically converted to variables in the view.

like image 113
Mischa Avatar answered Sep 28 '22 00:09

Mischa