0

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'])

YVS1102
  • 2,658
  • 5
  • 34
  • 63

0 Answers0