Php 如何以图表的形式表示MySQL数据
我试图使用chart.js以图表的形式表示MySQL数据,但我遇到了这样的错误Php 如何以图表的形式表示MySQL数据,php,mysql,chart.js,Php,Mysql,Chart.js,我试图使用chart.js以图表的形式表示MySQL数据,但我遇到了这样的错误 ReferenceError:gachibowli未定义 价值:加奇保利 <?php $con = mysql_connect("localhost", "root", ""); mysql_select_db("cycle", $con); while ($row = mysql_fetch_assoc($result)) { echo $row['standName'] . ' | ' . $row['c
ReferenceError:gachibowli未定义
价值:加奇保利
<?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>
变量数据=[
{
值:,
颜色:“F38630”
},
{
值:,
颜色:“E0E4CC”
}
];
var myPie=新图表(document.getElementById(“canvas”).getContext(“2d”)).Pie(pieData);
我希望您将$result
分配到某个地方。似乎没有任何疑问
然后在while
结构中的echo
语句后面缺少“;”
此外,您的整个数据设置也没有任何意义:为什么要一次又一次地覆盖$set1
和$set2
,而只使用最后的结果呢
我假设(通过您的命名)您希望集合包含多个值。这可以通过首先将它们初始化为数组,然后将每行值推送到它们来实现:
$set1[] = $row['standName'];
$set2[] = $row['currentQty'];
至少通过这种方式,您最终会得到一组数据
最后,看看Chart.js如何用于饼图:
将类似于$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>
var myPie=新图表(document.getElementById(“canvas”).getContext(“2d”)).Pie();