Im trying to get the total unread accounts from the database, the value is assigned to $data['head']
I want to make the $data[‘head’] available globally so it will be automatically loaded into the template and displayed on the header.
What is the best way to do this?
Below is my controller
function __construct()
{
parent::__construct();
$this->load->model('process_model');
$data['headbody']='includes/header';
$data['head'] = $this->process_model->loadnew($this->session->userdata('id'));
}
function invform()
{
$this->load->model('slave');
$data['body']='slave-account';
$data['questions'] = $this->slave->loadq($this->uri->segment(3));
$this->load->view('includes/template',$data);
}
View
$this->load->view($head);
$this->load->view($body);
$this->load->view('includes/footer');
You first need to make $data into a variable outside the function, using variable scope. Can be private or public. I made it private in this case.
Here’s a quick revision:
Notice the $this->data, instead of $data. When we’re accessing variables within the same class, but outside of the function, we use $this.