如何从MySQL数据库中获取所有sql查询行到php中的数组

时间:2014-07-10 10:09:27

标签: php mysql charts

我正在编写一个使用Google图表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%。如何确保使用所有行值?

2 个答案:

答案 0 :(得分:1)

像这样修改查询

$sql="SELECT result value
     FROM test
     WHERE result LIKE 'GY%'
     GROUP BY result";
$result=mysqli_query($link,$sql);

您可以访问的结果数量如下所示。

mysqli_num_rows($result)

答案 1 :(得分:0)

如果你想要一个关联数组,请使用:

$query = "SELECT column FROM `table` WHERE id='" . $id . "'"; / Whatever your query is
$result = mysql_query($query);
$row = mysql_fetch_assoc($result);

然后,您可以使用$row从编号为$id的行中调用$row['columnname'];和列名称。我也非常确定您可以使用{{1}不在查询中包含print_r($row['columnname']);,而只是拥有WHERE id='" . $id . "'";$query = "SELECT column FROM,它将打印出该列中的所有数据(每一行)。

此外,如果您只是想将数据绘制到图表中,那么使用谷歌API可能会使事情变得复杂,因为您可以使用以下代码将数据输出到HTML表格:

;

在php中使用echo然后使用html代码添加所需的任何其他内容。您还可以在表格中放置按钮,以及其他任何内容。该网站应提供您在HTML表格上需要的更多信息:http://www.w3schools.com/html/html_tables.asp

这是我用PHP回显的另一个小例子。它有按钮等。

<?php
   $query = "SELECT FROM `table`";
   $result = mysql_query($query);

   echo '<table class="table">';
   echo '<tr class="table">';
   echo '<th class="table">Column</th>';
   echo '</tr>';

   while($row = mysql_fetch_assoc($result)
   {
       echo '<tr class="table">';
       echo '<th class="table">' . $row['column'] . '</th>';
       echo '</tr>';
   }

   echo '</table>';
?>

希望有所帮助:)