I'm trying to create a chart
using highcart.js
. Please, take a look at my script :
public function index()
{
extract(populateform());
if(isset($monthly)){
$data['var'] = "Monthly";
$data['tgl'] = $this->modelmodel->showdata("select MONTH(tanggal) Tanggal from transaksi
where outlet = '".$this->session->userdata('username')."' group by
MONTH(tanggal)");
$data['angka'] = $this->modelmodel->showdata("select Outlet, month(tanggal),
sum(cash + cc + dc + flash + piutang + reject + disc50) total
from transaksi
where outlet = '".$this->session->userdata('username')."'
group by Outlet, month(tanggal)");
}else{
$data['tgl'] = $this->modelmodel->showdata("SELECT TOP 12 Tanggal From transaksi where outlet = '".$this->session->userdata('username')."' group by Tanggal order by tanggal desc");
$data['angka'] = $this->modelmodel->showdata("select TOP 12 (cash + cc + dc + flash + piutang + reject + disc50) total from transaksi where outlet = '".$this->session->userdata('username')."'");
$data['var'] = "Daily";
}
$view = 'dummy';
$this->go_to($view,$data);
}
In else
condition, everything working fine. But, when in if(isset($monthly))
condition there is an error Invalid argument supplied for foreach()
.
and here is my view
<div class="box-header">
<form method="post" action="<?=base_url();?>home/">
<button type="submit" class="btn" name="daily"> Daily </button>
<button type="submit" class="btn" name="monthly"> Monthly</button>
</form>
</div>
<div class="box-body table-responsive">
<script type="text/javascript">$(function () {
$('#container').highcharts({
title: {
text: '<?=$var;?>',
x: -20 //center
},
subtitle: {
text: 'Omset Anda',
x: -20
},
xAxis: {
categories: [<?php foreach($tgl as $tgls) {echo "'".$tgls->Tanggal."',";} ?>]
},
yAxis: {
title: {
text: 'Rupiah (Rp.)'
},
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
},
tooltip: {
valueSuffix: ' Rupiah'
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'middle',
borderWidth: 0
},
series: [{
name: 'Outlet Anda',
data: [<?php foreach($angka as $duit) {echo $duit->total.",";} ?>]
}]
});
});</script>
when i running query inside if(isset($monthly))
via sql server 2008
, the results are show up, But when i try to print_r($data['angka']), there isn't any result showing up and when i try to print_r($data) only $data['tgl']
showing up.
showdata is my function inside modelmodel
function showdata($sql){
$query = $this->db->query($sql)->result();
if($query)
{
return $query;
}
else{
return false;
}
}
var_dump($data['tgl'])
array(12) { [0]=> object(stdClass)#19 (1) { ["Tanggal"]=> int(1) } [1]=> object(stdClass)#20 (1) { ["Tanggal"]=> int(2) } [2]=> object(stdClass)#21 (1) { ["Tanggal"]=> int(3) } [3]=> object(stdClass)#22 (1) { ["Tanggal"]=> int(4) } [4]=> object(stdClass)#23 (1) { ["Tanggal"]=> int(5) } [5]=> object(stdClass)#24 (1) { ["Tanggal"]=> int(6) } [6]=> object(stdClass)#25 (1) { ["Tanggal"]=> int(7) } [7]=> object(stdClass)#26 (1) { ["Tanggal"]=> int(8) } [8]=> object(stdClass)#27 (1) { ["Tanggal"]=> int(9) } [9]=> object(stdClass)#28 (1) { ["Tanggal"]=> int(10) } [10]=> object(stdClass)#29 (1) { ["Tanggal"]=> int(11) } [11]=> object(stdClass)#30 (1) { ["Tanggal"]=> int(12) } }
and i got bool(false)
when i'm trying to var_dump($data['tgl'])