Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php图表未显示所有字段_Php_Sql_Charts_Google Visualization - Fatal编程技术网

php图表未显示所有字段

php图表未显示所有字段,php,sql,charts,google-visualization,Php,Sql,Charts,Google Visualization,我正在使用google图表(在php网页上)和来自sql数据库的数据。我遇到的问题是,它没有正确显示字段名称和值,而只是显示第一个字段“费用”的值。它应该显示两个字段“费用”和“收入”,其值在db中。你知道我做错了什么吗 我的代码如下: <?php $dbhandle = new mysqli('localhost','root','','useraccounts'); echo $dbhandle->connect_error; $query = "SELECT * FROM

我正在使用google图表(在php网页上)和来自sql数据库的数据。我遇到的问题是,它没有正确显示字段名称和值,而只是显示第一个字段“费用”的值。它应该显示两个字段“费用”和“收入”,其值在db中。你知道我做错了什么吗

我的代码如下:

<?php

$dbhandle = new mysqli('localhost','root','','useraccounts');
echo $dbhandle->connect_error;

$query = "SELECT * FROM ctincome";
$res = $dbhandle->query($query);
?>


<html>
<head>
<script type="text/javascript" 
src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
  google.charts.load("current", {packages:["corechart"]});
  google.charts.setOnLoadCallback(drawChart);
  function drawChart() {
    var data = google.visualization.arrayToDataTable([
      ['expense','income'],
  <?php 
  while($row=$res->fetch_assoc())

  {
      echo "['".$row['expense']."','".$row['income']."'],";
  }

  ?>
    ]);

    var options = {
      title: 'Expenses to Income',
      pieHole: 0.4,
    };

    var chart = new 
   google.visualization.PieChart(document.getElementById
   ('donutchart'));
    chart.draw(data, options);
   }
   </script>
   </head>
   <body>
   <div id="donutchart" style="width: 900px; height: 500px;"></div>
   </body>
   </html>

load(“当前”{packages:[“corechart”]});
google.charts.setOnLoadCallback(drawChart);
函数绘图图(){
var data=google.visualization.arrayToDataTable([
[“费用”、“收入”],

收入列的值应该是数字,而不是字符串

从第二列中删除单引号

echo "['".$row['expense']."','".$row['income']."'],";

echo "['".$row['expense']."',".$row['income']."],";

收入列的值应该是数字,而不是字符串

从第二列中删除单引号

echo "['".$row['expense']."','".$row['income']."'],";

echo "['".$row['expense']."',".$row['income']."],";

根据我在解决交叉浏览器或javascript错误方面的经验,我有三条建议

第一点:您只是回音,您需要使用串联

<?php 
  $data = '';
  while($row=$res->fetch_assoc())

  {
      $data .= "['".$row['expense']."','".$row['income']."'],";
  }

  ?>

 var data = google.visualization.arrayToDataTable([
      ['expense','income'],
      <?php echo $data; ?>
    ]);

]);
第二点:在javascript last中,逗号可能有效,也可能无效,如果逗号是最后一行,最好不要附加逗号

var data = google.visualization.arrayToDataTable([
      ['expense','income'],
  <?php 
  while($row=$res->fetch_assoc())

  {
      if(last row )
       $data .= "['".$row['expense']."','".$row['income']."']";
       else  $data .= "['".$row['expense']."','".$row['income']."'],";
  }

  ?>
    ]);
var data=google.visualization.arrayToDataTable([
[“费用”、“收入”],

根据我在解决交叉浏览器或javascript错误方面的经验,我有三条建议

第一点:您只是回音,您需要使用串联

<?php 
  $data = '';
  while($row=$res->fetch_assoc())

  {
      $data .= "['".$row['expense']."','".$row['income']."'],";
  }

  ?>

 var data = google.visualization.arrayToDataTable([
      ['expense','income'],
      <?php echo $data; ?>
    ]);

]);
第二点:在javascript last中,逗号可能有效,也可能无效,如果逗号是最后一行,最好不要附加逗号

var data = google.visualization.arrayToDataTable([
      ['expense','income'],
  <?php 
  while($row=$res->fetch_assoc())

  {
      if(last row )
       $data .= "['".$row['expense']."','".$row['income']."']";
       else  $data .= "['".$row['expense']."','".$row['income']."'],";
  }

  ?>
    ]);
var data=google.visualization.arrayToDataTable([
[“费用”、“收入”],

看看这个链接,它可能会对你有所帮助。看看这个链接,它可能会对你有所帮助。这个问题运气好吗?这个问题运气好吗?