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

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

<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 $ Positive, $ негативные и $ нейтральные меткам «позитивные», «негативные» и «нейтральные» на графике, чтобы они отображали их значения 20%, 30% и 50% соответственно на диаграмма?

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

0

Решение

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

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

]);
3

Другие решения

Просто выведите их на место, где они должны быть:

<?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>
1

Загружая 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>
0