Как передать целочисленные переменные из PHP в API Google Chart Javascript?

0

У меня есть следующий код:

<html><head>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
  google.load("visualization", "1", {packages:["corechart"]});
  google.setOnLoadCallback(drawChart);
  function drawChart() {

    var data = google.visualization.arrayToDataTable([
      ['Polarity', 'Percentage'],
      ['positive',     0],
      ['negative',      0],
      ['neutral',  0]

    ]);

    var options = {
      title: 'Sentiment Chart',
      is3D: true,
    };

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

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

<body>

<?php

$positive = 20;
$negative = 30;
$neutral = 50;

echo "<div id=\"piechart\" style=\"width: 900px; height: 500px;\"></div>";
?>

</body>
</html>

Это круговая диаграмма Google. Как передать переменные PHP $ положительные, $ отрицательные и $ нейтральные для "позитивных", "негативных" и "нейтральных" меток на диаграмме, чтобы они отображали свои значения 20%, 30% и 50% соответственно на диаграмма?

Я искал SO, но не нашел простой подход.

Теги:
charts

3 ответа

3
Лучший ответ

Поместите ваш php вверху вашего документа перед любым другим кодом, а затем замените его на javascript следующим образом:

 var data = google.visualization.arrayToDataTable([
  ['Polarity', 'Percentage'],
  ['positive',     <?php echo $positive ?>],
  ['negative',      <?php echo $negative ?>],
  ['neutral',  <?php echo $neutral ?>]

]);
1

Просто выведите их на нужное место:

<?php echo $negative; ?>

В вашем случае возможно что-то вроде этого:

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

    var data = google.visualization.arrayToDataTable([
      ['Polarity', 'Percentage'],
      ['positive',     <?php echo $positive; ?>],
      ['negative',      <?php echo $negative; ?>],
      ['neutral',  <?php echo $neutral; ?>]

    ]);

    var options = {
      title: 'Sentiment Chart',
      is3D: true,
    };

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

    chart.draw(data, options);
  }
</script>
  • 0
    Благодарю. Я попробовал это, хотя, и когда я сделал это, диаграмма не рендерилась бы вообще по некоторой причине ..
0

Загрузив PHP раньше и откройте теги внутри кода:

    <?php

    $positive = 20;
    $negative = 30;
    $neutral = 50;

    ?>

<html><head>
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">
      google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);
      function drawChart() {

        var data = google.visualization.arrayToDataTable([
          ['Polarity', 'Percentage'],
          ['positive',     <?php echo $positive; ?>],
          ['negative',      <?php echo $negative; ?>],
          ['neutral',  <?php echo $neutral; ?>]

        ]);

        var options = {
          title: 'Sentiment Chart',
          is3D: true,
        };

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

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

    <body>

    <div id=\"piechart\" style=\"width: 900px; height: 500px;\"></div>

    </body>
    </html>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню