使用JSON将codeigniter中的SQL数据传递给highcharts

时间:2015-03-16 21:33:15

标签: codeigniter highcharts

我无法将SQL数据从我的控制器传递到我的视图。我已经验证了我的模型中显示的信息。我不太了解JSON,但我正在努力学习。我的目标是使用两个字段填充图表,这两个字段只是这个highcharts javascript中的数字。请帮忙,谢谢!

控制器

function dashboard() {

    // Tickets in Queue
    $query = $this->mhedash_model->maint_pending_tickets();
    $result3 = $query->result_array();

    $this->table->set_heading('Work Number', 'Vehicle Number','Submit Date','Submit Time');
    $data['table']['Vehicle in Queue']  = $this->table->generate_table($result3); 

    // Active Tickets
    $query = $this->mhedash_model->select_active();
    $result = $query->result_array();

    $this->table->set_heading('Service Number','Start Date','Mechanic','Vehicle Number','Description','Type');
    $data['table']['Vehicles Actively Being Worked On']  = $this->table->generate_table($result); 


    // Tickets Waiting On Parts
    $query = $this->mhedash_model->select_pending_parts();
    $result2 = $query->result_array();

    $this->table->set_heading('Service Number','Start Date','Mechanic','Vehicle Number','Description','Type');
    $data['table']['Waiting For Parts']  = $this->table->generate_table($result2);

    //Graph - Availble Highreaches
    $query = $this->mhedash_model->graph_available_hr();
    $result4 = $query->result_array();
    $data['row']['']  = $this->table->generate_table($result4);


    $query = $this->mhedash_model->graph_available_dt();
    $result5 = $query->result_array();
    $data['row']['']  = $this->table->generate_table($result5);



    $series_data[] = array('name' => 'available', 'data' => (int)$result4);
    $series_data[] = array('name' => 'not_available', 'data' => (int)$result5);
    $this->view_data['series_data'] = json_encode($series_data, JSON_NUMERIC_CHECK);


    // Load view
    $data['page_title'] = 'MHE Dashboard';
    $data['main_content'] = 'mhe/mhe_dashboard_view';
    $data['array'] = $result;
    $data['array2'] = $result2;
    $data['array3'] = $result3;


    print json_encode($series_data);
    //echo json_encode($series_data, JSON_NUMERIC_CHECK);

    return $this->load->view('includes/template',$data);

}

查看具有highcharts javascript

的视图
var chart;
$(function () { 

  $('#container').highcharts({
    chart: {
        type: 'column'
    },
    xAxis: {
        categories: ['one', 'two']
    },
    plotOptions: {
        series: {
            allowPointSelect: true
        }
    },
    series: [{
        data: [<?php echo join($series_data, ',') ?>]
    }]
});


// the button action
$('#button').click(function () {
    var chart = $('#container').highcharts(),
        selectedPoints = chart.getSelectedPoints();

    if (chart.lbl) {
        chart.lbl.destroy();
    }
    chart.lbl = chart.renderer.label('You selected ' + selectedPoints.length + ' points', 100, 60)
        .attr({
            padding: 10,
            r: 5,
            fill: Highcharts.getOptions().colors[1],
            zIndex: 5
        })
        .css({
            color: 'white'
        })
        .add();
});
});
        </script>

此外,这是我打印$ series_data

的son_encode时打印的内容
[{"name":"available","data":1},{"name":"not_available","data":1}]

0 个答案:

没有答案