无法在highchart js上显示数据

时间:2018-06-02 12:59:41

标签: javascript php highcharts

我想将数据从MySQL数据库显示到高图。当我执行print_r数据时,它也可以显示数组,但是当我尝试将它们显示到图表时,它不起作用。这是我的代码:

控制器:

    $lokasi = $this->Objekwisata_m->getLokasi();
    $jumlahSad = array();       
    $temp = 0;


    foreach ($lokasi as $lok ) {

        $sad = $this->Objekwisata_m->getSad($lok['id_lokasi']);
        $jumlahSad[$temp] = count($sad);
        $temp++;

    }

    $data['jumlahSad'] = $jumlahSad;
    $data['lokasi'] = $this->Objekwisata_m->getLokasi();

    $this->load->view('objek_wisata_v', $data);

模型

public function getSad($id_lokasi){
    $this->db->select('t.result');
    $this->db->from('tbl_testimoni t');
    $this->db->join('tbl_master_lokasi l', 't.id_lokasi = l.id_lokasi', 'left');
    $this->db->where("t.result", "'sad'");
    $this->db->where("t.id_lokasi = '".$id_lokasi."'");
    $query = $this->db->get();
    return $query->result_array();
}

highchart.js

<script>
Highcharts.chart('container', {
    chart: {
        type: 'bar'
    },
    title: {
        text: 'Grafik Kepuasan Pengunjung KRB'
    },
    xAxis: {
        categories: [<?php foreach($lokasi as $lok){
            echo "'".$lok['nama_lokasi']."',";
        }?>],
        title: {
            text: null
        }
    },
    yAxis: {
        min: 0,
        title: {
            text: 'Population (millions)',
            align: 'high'
        },
        labels: {
            overflow: 'justify'
        }
    },
    tooltip: {
        valueSuffix: 'percents'
    },
    plotOptions: {
        bar: {
            dataLabels: {
                enabled: true
            }
        }
    },
    legend: {
        layout: 'vertical',
        align: 'right',
        verticalAlign: 'top',
        x: -40,
        y: 80,
        floating: true,
        borderWidth: 1,
        backgroundColor: ((Highcharts.theme && Highcharts.theme.legendBackgroundColor) || '#FFFFFF'),
        shadow: true
    },
    credits: {
        enabled: false
    },
    series: [{
        name: 'Sad',
        data: [<?php foreach($jumlahSad as $s){
            echo "'".$s."',";
        }?>]
    }, {
        name: 'Happy',
        data: [<?php foreach($jumlahHappy as $h){
            echo "'".$h."',";
        }?>]
    }, {
        name: 'Disgust',
        data: [<?php foreach($jumlahDisgust as $d){
            echo "'".$d."',";
        }?>]
    }]
});

</script>

0 个答案:

没有答案