Как представить данные MySQL в виде графиков

Я пытаюсь представить данные MySQL в виде диаграмм, используя chart.js, но получаю такую ​​ошибку.

ReferenceError: gachibowli is not defined

Значение: гачибовли

<?php
$con = mysql_connect("localhost", "root", "");
mysql_select_db("cycle", $con);

while ($row = mysql_fetch_assoc($result)) {
echo $row['standName'] . ' | ' . $row['currentQty'] . '  %' . "\n"$set1 = $row['standName'];
$set2 = $row['currentQty'];
}

?>
<script type="text/javascript" src="js/Chart.min.js">
</script>
<script>
var pieData = [
{
value: <?php
echo $set1;
?>,
color:"#F38630"},
{
value : <?php
echo $set2;
?>,
color : "#E0E4CC"}
];
var myPie = new  Chart(document.getElementById("canvas").getContext("2d")).Pie(pieData);
</script>
</script>

-1

Решение

Я надеюсь, что вы назначаете $result где-то. Похоже, не было никакого запроса.

Тогда есть «;» пропал после вашего echo заявление в while состав.

Кроме того, все ваши настройки данных не имеют никакого смысла: зачем перезаписывать $set1 а также $set2 снова и снова, чтобы в итоге использовать только последние результаты.

Я предполагаю (по вашему имени), что вы хотите, чтобы наборы содержали несколько значений. Этого можно достичь, сначала инициализируя их как массивы, а затем передавая им значения каждой строки:

$set1[] = $row['standName'];
$set2[] = $row['currentQty'];

По крайней мере, так вы бы в итоге наборы данных.

Наконец, взгляните на то, как Chart.js работает для круговых диаграмм: http://www.chartjs.org/docs/#doughnut-pie-chart-example-usage

Передача чего-то вроде $row['standName'] (предположительно строка) в качестве значения точки данных (числовой) не имеет никакого смысла.

Поскольку не совсем понятно, что вы здесь пытаетесь сделать, я выйду на передний план:

<?php

...

$data = array();
$colors = array("#F38630","#E0E4CC");
$i=0;
while ($row = mysql_fetch_assoc($result)) {
echo $row['standName'] . ' | ' . $row['currentQty'] . '  %' . "\n";
$data[] = array(
'value' => $row['currentQty'],
'label' => $row['standName'],
'color' => $colors[$i%2], // just alternating colors
);
$i++;
}

$pieData = jseon_encode($data);

?>
<script type="text/javascript" src="js/Chart.min.js"></script>
<script>
var myPie = new  Chart(document.getElementById("canvas").getContext("2d")).Pie(<?php echo $pieData; ?>);
</script>
0

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

Других решений пока нет …