4

PHP 変数を Google チャートで使用したいのですが、チャートが PHP タグを読み取ることができませんでした。以下のコードを見るとわかるように、スクリプトに PHP 変数を入れています。(コードの先頭で定義した PHP 変数と結果は正しいです)。私のコードの何が問題になっていますか? これに対する解決策はありますか?必要に応じて、さらに詳しい情報をお尋ねください。ありがとうございました。

<script type="text/javascript">
  google.charts.load('current', {'packages':['corechart']});
  google.charts.setOnLoadCallback(drawChart);
  function drawChart() {

    var data = google.visualization.arrayToDataTable([
      ['Order', 'Amount'],
      ['Completed',     '<?php echo$completed ?>'],
      ['New',      '<?php echo$new ?>']
    ]); 

    var options = {
      title: 'Total Order ' + <?php echo$total; ?>
    };

    var chart = new google.visualization.PieChart(document.getElementById('piechart'));

    chart.draw(data, options);
  }
</script>
4

4 に答える 4

2

docsによると、Google ビジュアライゼーションの円グラフには、1 つのデータ型string列と 1 つのnumber列が必要です。

したがって、データをレンダリングする前に列Amountを解析する必要があります。PHP自体またはJavaScriptで次のように実行できます。integerfloat

   var data = google.visualization.arrayToDataTable([
      ['Order', 'Amount'],
      ['Completed', parseInt('<?php echo $completed; ?>')],
      ['New',       parseInt('<?php echo $new; ?>')]
    ]); 

    var options = {
      title: 'Total Order ' +  parseInt('<?php echo $total; ?>')
    };

金額の値に小数値が含まれている場合は、parseFloat()代わりにJavaScript を使用することもできます。parseInt()

于 2016-11-24T05:04:47.577 に答える
2

作業例。

<?php 
$completed = 50;
$new = 10;
$total = 30;
?>
<html>
    <head>
        <!--Load the AJAX API-->
        <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
        <script type="text/javascript">


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

                var data = google.visualization.arrayToDataTable([
                    ['Order', 'Amount'],
                        ['Completed', parseInt('<?php echo $completed; ?>')],
                        ['New',       parseInt('<?php echo $new; ?>')]
                ]); 

                var options = {
                    title: 'Total Order ' + <?php echo$total; ?>
                };

                    var chart = new google.visualization.PieChart(document.getElementById('piechart'));

                    chart.draw(data, options);
                }

        </script>
    </head>

    <body>
        <div id="piechart"></div>
    </body>
</html>
于 2016-11-24T05:13:06.127 に答える
-2

PHP でスクリプトを使用できます。

ただし、スクリプトで PHP を使用することはできません。

うまくいきません。

于 2016-11-24T05:28:56.093 に答える