I need to echo out a variable value in the CodeIgniter view file. But when I run the site with...
<?php echo $highcharts; ?>
...on line 108, in the view, it gives an error. Please help me to echo out the value, so I can use it in HighCharts.
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: highcharts
Filename: reports/bqt_daily_income_view.php
Line Number: 108
This is my Controller:
function bqt_daily_income() {
$json_data = array();
$query = $this->db->query("SELECT time_stamp, SUM(paid) AS income FROM payments WHERE type = 'Banquet Reservation' GROUP BY time_stamp ORDER BY time_stamp ASC LIMIT 30");
if ($query->num_rows() > 0) {
foreach($query->result_array() as $row) {
$json_data['data'][] = (int) $row['income'];
}
}
$highcharts = json_encode($json_data);
//return $json_data;
//print_r($json_data); // Array ( [data] => Array ( [0] => 1700 [1] => 5000 ) )
//print_r($highcharts); // {"data":[1700,5000]}
$this->load->view('reports/bqt_daily_income_view', $highcharts);
Try like:
$this->load->view('reports/bqt_daily_income_view', array('highcharts' => $highcharts));
In view file:
echo $highcharts;
$this->data['highcharts'] = json_encode($json_data);
$this->data['other'] = "bla bla bla";
$this->load->view('reports/bqt_daily_income_view', $this->data);
In view file:
echo $highcharts;
echo $other;
I think you need:
$data['highcharts'] = json_encode($json_data);
$this->load->view('reports/bqt_daily_income_view', $data);
You are supposed to pass the array of data to the view and the keys of array will become the the variables accessible in views
function bqt_daily_income() {
$json_data = array();
$query = $this->db->query("SELECT time_stamp, SUM(paid) AS income FROM payments WHERE type = 'Banquet Reservation' GROUP BY time_stamp ORDER BY time_stamp ASC LIMIT 30");
if ($query->num_rows() > 0) {
foreach($query->result_array() as $row) {
$json_data['data'][] = (int) $row['income'];
}
}
$highcharts['highcharts'] = json_encode($json_data);
//return $json_data;
//print_r($json_data); // Array ( [data] => Array ( [0] => 1700 [1] => 5000 ) )
//print_r($highcharts); // {"data":[1700,5000]}
$this->load->view('reports/bqt_daily_income_view', $highcharts);
}
in view
<?php echo print_r(json_decode($highcharts)); ?>