簡體   English   中英

PHP數組到JSON使用Google Chart Tools繪制柱形圖

[英]PHP array to JSON plotting column chart with Google Chart Tools

我已經在這里和其他網站上閱讀了多個問題/答案,但我無法讓它工作。

我有一個包含日期和計數的數據庫。 使用PHP,我構建了一個嵌套數組,當編碼成為有效的json時。 至少根據http://jsonlint.com/ json(我可以看到)看起來像https://google-developers.appspot.com/chart/interactive/docs/php_example上的那些。

我唯一想做的就是使用Google API創建一個柱形圖(不應該這么難)......我想要y軸上的Count(數量)和x軸上的日期。

這是一個json輸出示例(相信我,我已經嘗試了幾個):

{ “COLS”:[{ “ID”: “”, “標簽”: “日期”, “類型”: “日期”},{ “ID”: “”, “標簽”: “計數”, “類型” : “數量”}], “行”:[{ “C”:[{ “v”: “2013年2月8日”},{ “v”: “13”}]},{ “C”:[ { “v”: “2013年2月9日”},{ “v”: “80”}]},{ “C”:[{ “v”: “2013年2月10日”},{ “v” : “2021”}]},{ “C”:[{ “v”: “2013年2月11日”},{ “v”: “18”}]},{ “C”:[{ “v” : “2013年2月12日”},{ “v”: “8”}]},{ “C”:[{ “v”: “2013年2月13日”},{ “v”: “4” }]},{ “C”:[{ “v”: “2013年2月14日”},{ “v”: “687”}]},{ “C”:[{ “v”:“2013- 02-15 “},{” v “:” 6674 “}]},{” C “:[{” v “:” 2013年2月16日 “},{” v “:” 656" }]}, { “C”:[{ “v”: “2013年2月17日”},{ “v”: “646”}]},{ “C”:[{ “v”: “2013年2月18日” },{ “v”: “672”}]},{ “C”:[{ “v”: “2013年2月19日”},{ “v”: “656”}]},{ “c” 的:[{ “v”: “二零一三年二月二十零日”},{ “v”: “653”}]},{ “C”:[{ “v”: “2013年2月21日”},{” v “:” 697 “}]},{” C “:[{” v “:” 2013年2月22日 “},{” v “:” 696 “}]},{” C “:[{” v “:” 2013年2月23日 “},{” v “:” 679 “}]},{” C “:[{” v “:” 2013年2月24日 “},{” v “:” 647 “}]},{” C “:[{” v “:” 2013年2月25日 “},{” v “:” 638 “}]},{” C “:[{” v “:” 2013年2月26日 “},{” v “:” 636 “}]},{” C “:[{” v “:” 2013年2月27日 “},{” v “:” 629" }] },{ “C”:[{ “v”: “2013年2月28日”},{ “v”: “644”}]},{ “C”:[{ “v”:“2013-03- 01 “},{” v “:” 5648 “}]},{” C “:[{” v “:” 2013年3月2日 “},{” v “:” 4378 “}]},{” C”:[{ “V”: “2013年3月3日”},{ “V”: “664”}]},{ “C”:[{ “V”: “2013年3月4日”},{ “V”: “663”}]},{ “C”:[{ “v”: “2013年3月5日”},{ “v”: “630”}]},{ “C”:[{ “v”: “2013年3月6日”},{ “v”: “640”}]},{ “C”:[{ “v”: “2013年3月7日”},{ “v”: “16”} ]},{ “C”:[{ “v”: “2013年3月8日”},{ “v”: “25”}]},{ “C”:[{ “v”:“2013-03 -09 “},{” v “:” 31 “}]},{” C “:[{” v “:” 2013年3月10日 “},{” v “:” 324" }]},{ “C”:[{ “v”: “2013年3月11日”},{ “v”: “9”}]},{ “C”:[{ “v”: “2013年3月12日”} ,{ “v”: “22”}]},{ “C”:[{ “v”: “2013年3月13日”},{ “v”: “23”}]},{ “C”: [{ “v”: “2013年3月14日”},{ “v”: “31”}]},{ “C”:[{ “v”: “2013年3月15日”},{“v “:” 29 “}]},{” C “:[{” v “:” 2013年3月16日 “},{” v “:” 40 “}]},{” C “:[{” v “:” 2013年3月17日 “},{” v “:” 15 “}]},{” C “:[{” v “:” 2013年3月18日 “},{” v “:” 5 “}]},{” C “:[{” v “:” 2013年3月19日 “},{” v “:” 13 “}]},{” C “:[{” v “:” 2013 -03-20 “},{” v “:” 24 “}]},{” C “:[{” v “:” 2013年3月21日 “},{” v “:” 53" }]} ,{ “C”:[{ “v”: “2013年3月22日”},{ “v”: “808”}]},{ “C”:[{ “v”:“2013-03-23 “},{” v “:” 59 “}]},{” C “:[{” v “:” 2013年3月24日 “},{” v “:” 24 “}]},{” C “:[{” v “:” 2013年3月25日 “},{” v “:” 2 “}]},{” C “:[{” v “:” 2013年3月26" 日},{ “v”: “16”}]},{ “C”:[{ “v”: “2013年3月27日”},{ “v”: “1546”}]},{ “C”:[{ “v”: “2013年3月28日”},{ “v”: “1554”}]},{ “C”:[{ “v”:” 2013年3月29日 “},{” V “:” 1587 “}]},{” C “:[{” V “:” 2013年3月30日 “},{” V “:” 1570" }] },{ “C”:[{ “v”: “2013年3月31日”},{ “v”: “1552”}]},{ “C”:[{ “v”:“2013-04- 01 “},{” v “:” 1559 “}]},{” C “:[{” v “:” 2013年4月2日 “},{” v “:” 1568 “}]},{” C “:[{” v “:” 2013年4月3日 “},{” v “:” 1566 “}]},{” C “:[{” v “:” 2013年4" 月4日}, { “v”: “1574”}]},{ “C”:[{ “v”: “2013年4月5日”},{ “v”: “1558”}]},{ “C”:[ { “v”: “2013年4月6日”},{ “v”: “1626”}]},{ “C”:[{ “v”: “2013年4月7日”},{ “v” : “1562”}]},{ “C”:[{ “v”: “2013年4月8日”},{ “v”: “1536”}]},{ “C”:[{ “v” : “2013年4月9日”},{ “v”: “1565”}]},{ “C”:[{ “v”: “2013年4月10日”},{ “v”: “1551” }]},{ “C”:[{ “v”: “2013-04-11”},{ “v”: “1547”}]},{ “C”:[{ “v”:“2013- 04-12 “},{” v “:” 1628 “}]},{” C “:[{” v “:” 2013年4月13日 “},{” v “:” 1541" }]}, { “C”:[{ “v”: “2013年4月14日”},{ “v”: “1515”}]},{ “C”:[{ “v”: “2013年4月15日” },{ “v”: “1537”}]},{ “C”:[{ “v”: “2013年4月16日”},{ “v”: “1536”}]}]}

和API腳本

// Load the Visualization API and the piechart package.
google.load('visualization', '1', {'packages':['corechart']});

// Set a callback to run when the Google Visualization API is loaded.
google.setOnLoadCallback(drawChart);

function drawChart() {
  var jsonData = $.ajax({
      url: "chartjson.php",
      dataType:"json",
      async: false
      }).responseText;

  // Create our data table out of JSON data loaded from server.
  var data = new google.visualization.DataTable(jsonData);

  // Instantiate and draw our chart, passing in some options.
  var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
  chart.draw(data, {width: 400, height: 240});
}

我正在認真考慮在Excel中制作圖表並每天上傳截圖。

關於如何解決這個問題的任何想法? 我甚至關閉(不是卑鄙)?

任何幫助深表感謝!

感覺有點愚蠢...經過一些挖掘我發現我必須使用'字符串'作為日期而不是日期,然后解決了整個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM