2016-09-19 6 views
3

1か月あたりの売上モデルごとの合計の合計を表示するソリューションを探しています(複数の行を1つのチャートに表示 - >元のサンプルコードを参照)。mysqlデータを使用してGoogleグラフを生成する

私は販売モデルを介して実行するために、whileループを使用することができますと

var data = new google.visualization.DataTable(); 
    data.addColumn('number', 'Day'); 
    <?php 
     $query = "SELECT DISTINCT Model FROM stats LIMIT 3"; 
     $result = mysql_query($query); 

     while ($row = mysql_fetch_array($result)) 
     { 
      $value = $row['Model']; 
      echo "data.addColumn('number', '".$value."');"; 
     } 

どうでしょう1販売が右の販売のために登録されているすべての日/ヶ/年を通してしかし、ループモデル?以下の "data、addRows"のように、Sales ModelあたりのSum of Quantityの合計を取得するにはどうすればよいですか。あなたは$ajax

data.addRows([ 
    [1, 37.8, 80.8, 41.8], 
    [2, 30.9, 69.5, 32.4], 
    [3, 25.4, 57, 25.7], 
    [4, 25.4, 57, 25.7], 
    [5, 25.4, 57, 25.7], 
    [6, 25.4, 57, 25.7], 
    ]); 

オリジナルのコードを試してみました

<html> 
 
    <head> 
 
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> 
 
    <script type="text/javascript"> 
 
     
 
google.charts.load('current', {'packages':['line']}); 
 
google.charts.setOnLoadCallback(drawChart); 
 

 
    function drawChart() { 
 

 
     var data = new google.visualization.DataTable(); 
 
     data.addColumn('number', 'Day'); 
 
     data.addColumn('number', 'Sales Model 1'); 
 
     data.addColumn('number', 'Sales Model 2'); 
 
     data.addColumn('number', 'Sales Model 3'); 
 

 
     data.addRows([ 
 
     [1, 37.8, 80.8, 41.8], 
 
     [2, 30.9, 69.5, 32.4], 
 
     [3, 25.4, 57, 25.7], 
 
     [4, 25.4, 57, 25.7], 
 
     [5, 25.4, 57, 25.7], 
 
     [6, 25.4, 57, 25.7], 
 
     ]); 
 

 
     var options = { 
 
     chart: { 
 
      title: 'Sales', 
 
     }, 
 
     width: 900, 
 
     height: 500 
 
     }; 
 

 
     var chart = new google.charts.Line(document.getElementById('linechart_material')); 
 

 
     chart.draw(data, options); 
 
    } 
 
    </script> 
 
    </head> 
 
    <body> 
 
    <div id="linechart_material" style="width: 900px; height: 500px"></div> 
 
    </body> 
 
</html>

答えて

-1

のような何か:

$.ajax({ 
     method: "GET", 
     url: "sales.php", 
     }) 
     .done(function(data) { 
      data.addRows(data); 
     }); 
+0

こんにちはセルジ私が何であるかを知らない怖いとして、私は:)あなたはおそらくあなたのコードは、スクリプトのコンテキストでどのように動作するかを見せてもらえない、あなたの提案をしようとしたか、使用していませんか? –

+0

Ajaxは、リクエストが非同期で呼び出され、すべてのウェブサイトで使用されています.JavaScript経由でPHPスクリプトが呼び出されます.DOMの準備が整い次第、 –

0

Googleは

のためにこれを行いますだけでグループにする列を提供group() methodし、残りの列の集計式

作業スニペット以下参照を持っています各販売モデルの合計でテーブルチャートが描画されます。

google.charts.load('current', {'packages':['line', 'table']}); 
 
google.charts.setOnLoadCallback(drawChart); 
 

 
function drawChart() { 
 
    var data = new google.visualization.DataTable(); 
 
    data.addColumn('number', 'Day'); 
 
    data.addColumn('number', 'Sales Model 1'); 
 
    data.addColumn('number', 'Sales Model 2'); 
 
    data.addColumn('number', 'Sales Model 3'); 
 

 
    data.addRows([ 
 
    [1, 37.8, 80.8, 41.8], 
 
    [2, 30.9, 69.5, 32.4], 
 
    [3, 25.4, 57, 25.7], 
 
    [4, 25.4, 57, 25.7], 
 
    [5, 25.4, 57, 25.7], 
 
    [6, 25.4, 57, 25.7], 
 
    ]); 
 

 
    var options = { 
 
    chart: { 
 
     title: 'Sales', 
 
    }, 
 
    width: 900, 
 
    height: 500 
 
    }; 
 

 
    var chart = new google.charts.Line(document.getElementById('linechart_material')); 
 
    chart.draw(data, options); 
 

 
    var dataGroup = google.visualization.data.group(
 
    data, 
 
    // modifier column to total all rows 
 
    [{column: 0, type: 'string', modifier: function() {return '';}}], 
 
    // sum columns 
 
    [ 
 
     {column: 1, type: 'number', aggregation: google.visualization.data.sum}, 
 
     {column: 2, type: 'number', aggregation: google.visualization.data.sum}, 
 
     {column: 3, type: 'number', aggregation: google.visualization.data.sum} 
 
    ] 
 
); 
 

 
    var table = new google.visualization.Table(document.getElementById('tablechart')); 
 
    table.draw(dataGroup); 
 
}
<script src="https://www.gstatic.com/charts/loader.js"></script> 
 
<div id="linechart_material"></div> 
 
<div id="tablechart"></div>

+0

この質問は運がいいですか? – WhiteHat

関連する問題