0

ウェブサイトに Google の円グラフを表示したいと考えています。円グラフには、データベースからのデータが入力されます。https://developers.google.com/chart/interactive/docs/php_exampleでいくつかの例を見ていましたが、JSON 形式になるとわかりません。

ここではいくつかの例を示します。

 <html>
   <head>
<!--Load the AJAX API-->
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript" src="jquery-1.6.2.min.js"></script>
<script type="text/javascript">

// 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: "getData.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.PieChart(document.getElementById('chart_div'));
  chart.draw(data, {width: 400, height: 240});
}

</script>
</head>

<body>
  <!--Div that will hold the pie chart-->
  <div id="chart_div"></div>
</body>
</html>

そして、これが私が迷子になったスニペットです(getData.php):

 <?php 

// This is just an example of reading server side data and sending it to the client.
// It reads a json formatted text file and outputs it.

 $string = file_get_contents("sampleData.json");
 echo $string;

// Instead you can query your database and parse into JSON etc etc

 ?>

JSON 形式ではなく、データベースにデータを保存しています。MySQL データベースクエリを使用して JSON 形式を操作するにはどうすればよいですか? 例やデモがあれば、よろしくお願いします。

4

2 に答える 2

1

最初に行うことは、json_encode()メソッドに関するPHPマニュアルを確認することです。PHPでJSONを生成する方法の例を提供します。

これは別の同様のSO質問からの短い例です:

// Get your data from DB
$sth = mysql_query("SELECT ...");
// Create an array
$rows = array();
// Loop over the DB result and add it to your array
while($r = mysql_fetch_assoc($sth)) {
    $rows[] = $r;
}
// Use json_encode() to turn the array into JSON
print json_encode($rows);

データベースの列の名前を変更して、JSONデータがDBで使用されているもの以外の名前をプロパティで取得するようにする必要がある場合ASは、SQLで使用できます。

SELECT blog_title as title ...
于 2012-07-15T17:52:27.707 に答える
0

phpの結果をエコーするだけです var data = new google.visualization.DataTable([<?php echo $result ;?>]);

以下の形式に従ってデータベースからデータを取得します

             ['Task', 'Hours per Day'],
                      ['Work',     11],
                      ['Eat',      2],
                      ['Commute',  2],
                      ['Watch TV', 2],
                      ['Sleep',    7]

私はそれがあなたに役立つと思います、私はヒートマップで同じロジックを使用しています

于 2013-03-12T08:56:46.793 に答える