Php 如何使用sql数据填充chart.js?
我正在使用chart.js在我的页面上生成图表。 但是,我希望这些图表由我的SQL数据库填充。 我可以从数据库中获取数据,但我不会绘制图表 我的主页上有一块画布,叫做“OmzetChart”,这是图表应该出现的地方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
<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
});
}
});