我正在编写一个应用程序来使用 Google Chart API 构建图表。 数据是动态的,驻留在 MySQL 数据库中。
面临的问题是包含要显示的数据源的数组仅包含查询返回的第一行。即使在循环之后。
这是代码:
include 'connect.php';
$sql="SELECT result,COUNT(result) value
FROM test
WHERE result LIKE 'GY%'
GROUP BY result";
$result=mysqli_query($link,$sql);
$myurl[]="['Option','Value']";
while($row=mysqli_fetch_assoc($result))
{
$result=$row['result'];
$value=$row['value'];
$Title="My Results";
$myurl[]="['".$result."',".$value."]";
}
<script type="text/javascript">
google.load('visualization', '1', {'packages':['corechart']});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.arrayToDataTable([
<?php
echo (implode(",",$myurl));?>
]);
var options={
title:'<?php echo($Title);?> '
};
图表中仅使用返回的第一行,因此该值显示为 100%。如何确保使用所有行值?
最佳答案
像这样修改查询
$sql="SELECT result value
FROM test
WHERE result LIKE 'GY%'
GROUP BY result";
$result=mysqli_query($link,$sql);
以及您可以访问的结果数量,如下所示。
mysqli_num_rows($result)
关于php - 如何从MySQL数据库中获取sql查询的所有行到php中的数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24673830/