Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用sql数据填充chart.js?_Php_Jquery_Ajax_Charts_Chart.js - Fatal编程技术网

Php 如何使用sql数据填充chart.js?

Php 如何使用sql数据填充chart.js?,php,jquery,ajax,charts,chart.js,Php,Jquery,Ajax,Charts,Chart.js,我正在使用chart.js在我的页面上生成图表。 但是,我希望这些图表由我的SQL数据库填充。 我可以从数据库中获取数据,但我不会绘制图表 我的主页上有一块画布,叫做“OmzetChart”,这是图表应该出现的地方 <script> $.ajax({ type: 'POST', url: 'templates/getdata.php', success: function (data) { lineCha

我正在使用chart.js在我的页面上生成图表。 但是,我希望这些图表由我的SQL数据库填充。 我可以从数据库中获取数据,但我不会绘制图表

我的主页上有一块画布,叫做“OmzetChart”,这是图表应该出现的地方

<script>
    $.ajax({
        type: 'POST',
        url: 'templates/getdata.php',
        success: function (data) {
            lineChartData = data;
            //alert(JSON.stringify(data));

            var ctx = document.getElementById("OmzetChart").getContext("2d");
            var myLineChart = new Chart(ctx, {
                type: 'line',
                data: lineChartData

            });
       }
    });

</script>

$.ajax({
键入:“POST”,
url:'templates/getdata.php',
成功:功能(数据){
lineChartData=数据;
//警报(JSON.stringify(数据));
var ctx=document.getElementById(“OmzetChart”).getContext(“2d”);
var myLineChart=新图表(ctx{
键入:“行”,
数据:线形图表数据
});
}
});
GetData.php页面的结果如下(这是我所需要的,只是想将其放入我的图表中):

[{“dag”:“23”、“0”:“23”、“uur”:“13”、“1”:“13”、“索蒙泽特”:“23.00”、“2”:“23.00”},{“dag”:“23”、“0”:“23”、“uur”:“18”、“1”:“18”、“索蒙泽特”:“2.50”、“2”:“2.50”}]
Getdata.php:
生成一个JSON字符串。在使用它之前,您需要对它进行
分析

$.ajax({
    type: 'POST',
    url: 'templates/getdata.php',
    success: function (data) {
        lineChartData = JSON.parse(data); //parse the data into JSON

        var ctx = document.getElementById("OmzetChart").getContext("2d");
        var myLineChart = new Chart(ctx, {
            type: 'line',
            data: lineChartData
        });
    }
});
另外,使用方法的
dataType
参数,您可以将此解析留给jQuery

$.ajax({
    type: 'POST',
    url: 'templates/getdata.php',
    dataType: 'json', //tell jQuery to parse received data as JSON before passing it onto successCallback
    success: function (data) {
        var ctx = document.getElementById("OmzetChart").getContext("2d");
        var myLineChart = new Chart(ctx, {
            type: 'line',
            data: data //jQuery will parse this since dataType is set to json
        });
    }
});

好吧,这里有ajax标签,所以我假设您了解ajax。为什么没有ajax请求来获取代码中的数据?@ozan,我尝试了很多次,但都没有成功。这就是为什么我在这里问你有没有试过打ajax电话?如果是这样,请分享您的ajax代码。如果你没有,那你应该从这里开始。@ozan,我已经更新了我的帖子。此代码在绘制之前一直有效。它只是给了我一个空白canvas@Steve,您的数据格式不正确<代码>数据
应该是包含必要信息的对象。
$.ajax({
    type: 'POST',
    url: 'templates/getdata.php',
    dataType: 'json', //tell jQuery to parse received data as JSON before passing it onto successCallback
    success: function (data) {
        var ctx = document.getElementById("OmzetChart").getContext("2d");
        var myLineChart = new Chart(ctx, {
            type: 'line',
            data: data //jQuery will parse this since dataType is set to json
        });
    }
});