JSON とハイチャートに問題があります: ajax を使用して php mysql からデータをフェッチして応答を取得していますが、データをハイチャート シリーズに入れることができないという問題があります。私がハイチャートにまったく慣れていないという問題について、誰か助けてもらえますか。私のモットーは、mysqlテーブルから取得した月に応じて、データの月収をチャートに表示することです。
chart_income.php ファイルの ajax 呼び出しから JSON を下回っています。PHP コードを参照してください。
JSON :
[{"month":"1","total":"4500"},{"month":"2","total":"20"},{"month":"3","total":"8300"}]
jqueryコードは次のとおりです。
$(document).ready(function () {
function requestData() {
$.ajax({
type: 'POST',
url: 'ajax/chart_income.php',
datatype: 'json',
success: function (data) {
alert(data);
chart.series[0].setData(data.month);
},
cache: false
});
};
var chart;
chart = new Highcharts.Chart({
chart: {
renderTo: 'demo_chart',
type: 'line',
events: {
load: requestData
}
},
xAxis: {
categories: []
},
yAxis: {
title: {
text: 'INR'
}
},
series: [{
//name: 'Random data',
data: []
}
]
});
});
PHP コード:
<?php
$total_yearly_income = $db->query("SELECT MONTH(income_date) as month_updated, COUNT(income_date) as month_updates, SUM(income_amount) as month_total FROM mt_income WHERE income_date BETWEEN '2013-01-01 00:00:00' AND '2013-03-23 23:59:59' GROUP BY MONTH(income_date)");
$i=0;
if ($total_yearly_income) {
if ($db->num_rows($total_yearly_income)) {
while ($res = $db->fetch_array($total_yearly_income)) {
$month = $res["month_updated"];
$total = $res["month_total"];
$array[] = array("month" =>$month,"total"=>$total);
}
echo json_encode($array);
}
}
?>