Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.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
Charts GOOGLE折线图错误:给定轴上的所有系列必须具有相同的数据类型。空查询_Charts_Google Visualization_Line - Fatal编程技术网

Charts GOOGLE折线图错误:给定轴上的所有系列必须具有相同的数据类型。空查询

Charts GOOGLE折线图错误:给定轴上的所有系列必须具有相同的数据类型。空查询,charts,google-visualization,line,Charts,Google Visualization,Line,我对折线图有一个问题,当查询给出空结果或没有行时,折线图显示错误“给定轴上的所有系列必须具有相同的数据类型” 如果你仔细看有7个查询(每个人在同一个图表上画一条线),如果任何查询返回一个空结果(没有行),我会在主题标题中得到错误。当所有查询都不为空时,图表将正常工作 有没有办法避免这个错误 <?php $curyear = date('Y'); $con = mysqli_connect('xxx','xxx','xxx','xxx'); ?> <html>

我对折线图有一个问题,当查询给出空结果或没有行时,折线图显示错误“给定轴上的所有系列必须具有相同的数据类型”

如果你仔细看有7个查询(每个人在同一个图表上画一条线),如果任何查询返回一个空结果(没有行),我会在主题标题中得到错误。当所有查询都不为空时,图表将正常工作

有没有办法避免这个错误

<?php
$curyear = date('Y');
 $con = mysqli_connect('xxx','xxx','xxx','xxx');
?>
<html>
     <head>
    <!--Load the AJAX API-->
    <script type="text/javascript" src="https://www.google.com/jsapi"> 
    </script>
    <script type="text/javascript">

      // Load the Visualization API and the piechart package.
      google.load('visualization', '1.0', {'packages':['corechart']});

      // Set a callback to run when the Google Visualization API is loaded.
      google.setOnLoadCallback(drawChart);

      // Callback that creates and populates a data table,
      // instantiates the pie chart, passes in the data and
      // draws it.
      function drawChart() {
var data1 = google.visualization.arrayToDataTable([
        ['Date', 'LaMotta'],
         <?php 
            $query = "SELECT responsabile, sum(val_fattu) as LaMotta, data_dichiarato FROM dichiarati_myennova WHERE responsabile = 'ADMRZ01' and dichiarati_myennova.DATA_DICHIARATO > (NOW() - INTERVAL 270 DAY) GROUP BY MONTH(data_dichiarato), responsabile ORDER BY data_dichiarato";
            $exec = mysqli_query($con,$query);
            while($row = mysqli_fetch_array($exec)){

            echo "['".date("Y/m", strtotime($row['data_dichiarato']))."',".$row['LaMotta']."],";


         }
        ?> 

       ]);

var data2 = google.visualization.arrayToDataTable([
        ['Date', 'Spadone'],
         <?php 
            $query = "SELECT responsabile, sum(val_fattu) as Spadone, data_dichiarato FROM dichiarati_myennova WHERE responsabile = 'ADMRZ02' and dichiarati_myennova.DATA_DICHIARATO > (NOW() - INTERVAL 270 DAY) GROUP BY MONTH(data_dichiarato), responsabile ORDER BY data_dichiarato";
            $exec = mysqli_query($con,$query);
            while($row = mysqli_fetch_array($exec)){

            echo "['".date("Y/m", strtotime($row['data_dichiarato']))."',".$row['Spadone']."],";

         }
        ?> 

       ]);

var data3 = google.visualization.arrayToDataTable([
        ['Date', 'Ivo'],
         <?php 
            $query = "SELECT responsabile, sum(val_fattu) as Ivo, data_dichiarato FROM dichiarati_myennova WHERE responsabile = 'ADMRZ11' and dichiarati_myennova.DATA_DICHIARATO > (NOW() - INTERVAL 270 DAY) GROUP BY MONTH(data_dichiarato), responsabile ORDER BY data_dichiarato";
            $exec = mysqli_query($con,$query);
            while($row = mysqli_fetch_array($exec)){

            echo "['".date("Y/m", strtotime($row['data_dichiarato']))."',".$row['Ivo']."],";


         }
        ?> 

       ]);


 var data4 = google.visualization.arrayToDataTable([
        ['Date', 'Montagliani'],
         <?php 
            $query = "SELECT responsabile, sum(val_fattu) as Montagliani, data_dichiarato FROM dichiarati_myennova WHERE responsabile = 'ADMRZ12' and dichiarati_myennova.DATA_DICHIARATO > (NOW() - INTERVAL 270 DAY) GROUP BY MONTH(data_dichiarato), responsabile ORDER BY data_dichiarato";
            $exec = mysqli_query($con,$query);
            while($row = mysqli_fetch_array($exec)){

            echo "['".date("Y/m", strtotime($row['data_dichiarato']))."',".$row['Montagliani']."],";


         }
        ?> 

       ]);

  var data5 = google.visualization.arrayToDataTable([
        ['Date', 'Galtieri'],
         <?php 
            $query = "SELECT responsabile, sum(val_fattu) as Galtieri, data_dichiarato FROM dichiarati_myennova WHERE responsabile = 'ADMRZ21' and dichiarati_myennova.DATA_DICHIARATO > (NOW() - INTERVAL 270 DAY) GROUP BY MONTH(data_dichiarato), responsabile ORDER BY data_dichiarato";
            $exec = mysqli_query($con,$query);
            while($row = mysqli_fetch_array($exec)){

            echo "['".date("Y/m", strtotime($row['data_dichiarato']))."',".$row['Galtieri']."],";


         }
        ?> 

       ]);


  var data6 = google.visualization.arrayToDataTable([
        ['Date', 'Giacometti'],
         <?php 
            $query = "SELECT responsabile, sum(val_fattu) as Giacometti, data_dichiarato FROM dichiarati_myennova WHERE responsabile = 'ADMRZ22' and dichiarati_myennova.DATA_DICHIARATO > (NOW() - INTERVAL 270 DAY) GROUP BY MONTH(data_dichiarato), responsabile ORDER BY data_dichiarato";
            $exec = mysqli_query($con,$query);
            while($row = mysqli_fetch_array($exec)){

            echo "['".date("Y/m", strtotime($row['data_dichiarato']))."',".$row['Giacometti']."],";


         }
        ?> 

       ]);


  var data7 = google.visualization.arrayToDataTable([
        ['Date', 'Mantovani'],
         <?php 
            $query = "SELECT responsabile, sum(val_fattu) as Mantovani, data_dichiarato FROM dichiarati_myennova WHERE responsabile = 'ADMRZ23' and dichiarati_myennova.DATA_DICHIARATO > (NOW() - INTERVAL 270 DAY) GROUP BY MONTH(data_dichiarato), responsabile ORDER BY data_dichiarato";
            $exec = mysqli_query($con,$query);
            while($row = mysqli_fetch_array($exec)){

            echo "['".date("Y/m", strtotime($row['data_dichiarato']))."',".$row['Mantovani']."],";


         }
        ?> 

       ]);



var joinedData = google.visualization.data.join(data1, data2, 'full', [[0, 0]], [1], [1]);
var joinedData2 = google.visualization.data.join(joinedData, data3, 'full', [[0, 0]], [1,2], [1]);
var joinedData3 = google.visualization.data.join(joinedData2, data4, 'full', [[0, 0, 0]], [1,2,3], [1]);
var joinedData4 = google.visualization.data.join(joinedData3, data5, 'full', [[0, 0, 0, 0]], [1,2,3,4], [1]);
var joinedData5 = google.visualization.data.join(joinedData4, data6, 'full', [[0, 0, 0, 0, 0]], [1,2,3,4,5], [1]);
var joinedData6 = google.visualization.data.join(joinedData5, data7, 'full', [[0, 0, 0, 0, 0, 0]], [1,2,3,4,5,6], [1]);

// sort by start and end dates


var chart = new google.visualization.LineChart(document.querySelector('#chart_div'));
chart.draw(joinedData6, {
    height: 500,
    width: 1400,
    interpolateNulls: true,

});
}

google.load('visualization', '1', {packages:['corechart'], callback: drawChart});
    </script>
  </head>

  <body><br /><br />  
       <div style="width:1500px;" align="center">  
                <h1 align="center" style="font-size:22px">Produzione SMARTEASY: MYENNOVA (Ultimi 10 Mesi)</h1>  
            <br />  
            <div align="center" id="piechart2" style="float:left; width: 700px; height: 390px;"></div> 
            <div align="center" id="piechart1" style="float:left; width: 700px; height: 390px;"></div>   
       </div>
    <!--Divs that will hold the charts-->
    <div id="chart_div"></div>

  </body>
</html>

//加载可视化API和piechart包。
load('visualization','1.0',{'packages':['corechart']});
//将回调设置为在加载Google Visualization API时运行。
setOnLoadCallback(drawChart);
//创建并填充数据表的回调,
//实例化饼图,传入数据并
//画它。
函数绘图图(){
var data1=google.visualization.arrayToDataTable([
[“日期”,“拉莫塔”],

您可以使用数据视图绘制图表,
并且仅包括具有值的联接数据中的列

使用数据表方法
getColumnRange

我们可以确定该列是否有数据

没有数据的列,
getColumnRange
将为
min
max
返回
null

// build view columns
var viewColumns = [];
for (var i = 0; i < joinedData6.getNumberOfColumns(); i++) {
  var range = joinedData6.getColumnRange(i);

  // determine if column has values
  if (!((range.min === null) && (range.min === null))) {
    viewColumns.push(i);
  }
}

// build data view
var view = new google.visualization.DataView(joinedData6);
view.setColumns(viewColumns);

var chart = new google.visualization.LineChart(document.querySelector('#chart_div'));
chart.draw(view, {  // <-- use view to draw chart
  height: 500,
  width: 1400,
  interpolateNulls: true,
});
//生成视图列
var viewColumns=[];
对于(var i=0;i
google.charts.load('current'{
软件包:['corechart']
}).然后(函数(){
var data1=google.visualization.arrayToDataTable([
[“日期”,“拉莫塔”],

我正在尝试在我的脚本上修改你的示例脚本。但我有一些困难,因为我不知道,但似乎缺少一些标记。我已经完全删除了脚本的最后一部分,将你的放入其中。但是在页面开始时,我需要删除什么?我将添加我所做的。可能是这样做的:)从数据库中删除0行:)
<?php
$curyear = date('Y');
 $con = mysqli_connect('xxx','xxx','xxx','xxx');
?>

    <!--Load the AJAX API-->
    <script src="https://www.gstatic.com/charts/loader.js"></script>
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">

      google.charts.load('current', {
      packages: ['corechart']
      }).then(function () {
var data1 = google.visualization.arrayToDataTable([
        ['Date', 'LaMotta'],
         <?php 
            $query = "SELECT responsabile, sum(val_fattu) as LaMotta, data_dichiarato FROM dichiarati_myennova WHERE responsabile = 'ADMRZ01' and dichiarati_myennova.DATA_DICHIARATO > (NOW() - INTERVAL 270 DAY) GROUP BY MONTH(data_dichiarato), responsabile ORDER BY data_dichiarato";
            $exec = mysqli_query($con,$query);
            while($row = mysqli_fetch_array($exec)){

            echo "['".date("Y/m", strtotime($row['data_dichiarato']))."',".$row['LaMotta']."],";


         }
        ?> 

       ]);

var data2 = google.visualization.arrayToDataTable([
        ['Date', 'Spadone'],
         <?php 
            $query = "SELECT responsabile, sum(val_fattu) as Spadone, data_dichiarato FROM dichiarati_myennova WHERE responsabile = 'ADMRZ02' and dichiarati_myennova.DATA_DICHIARATO > (NOW() - INTERVAL 270 DAY) GROUP BY MONTH(data_dichiarato), responsabile ORDER BY data_dichiarato";
            $exec = mysqli_query($con,$query);
            while($row = mysqli_fetch_array($exec)){

            echo "['".date("Y/m", strtotime($row['data_dichiarato']))."',".$row['Spadone']."],";

         }
        ?> 

       ]);

var data3 = google.visualization.arrayToDataTable([
        ['Date', 'Ivo'],
         <?php 
            $query = "SELECT responsabile, sum(val_fattu) as Ivo, data_dichiarato FROM dichiarati_myennova WHERE responsabile = 'ADMRZ11' and dichiarati_myennova.DATA_DICHIARATO > (NOW() - INTERVAL 270 DAY) GROUP BY MONTH(data_dichiarato), responsabile ORDER BY data_dichiarato";
            $exec = mysqli_query($con,$query);
            while($row = mysqli_fetch_array($exec)){

            echo "['".date("Y/m", strtotime($row['data_dichiarato']))."',".$row['Ivo']."],";


         }
        ?> 

       ]);


 var data4 = google.visualization.arrayToDataTable([
        ['Date', 'Montagliani'],
         <?php 
            $query = "SELECT responsabile, sum(val_fattu) as Montagliani, data_dichiarato FROM dichiarati_myennova WHERE responsabile = 'ADMRZ12' and dichiarati_myennova.DATA_DICHIARATO > (NOW() - INTERVAL 270 DAY) GROUP BY MONTH(data_dichiarato), responsabile ORDER BY data_dichiarato";
            $exec = mysqli_query($con,$query);
            while($row = mysqli_fetch_array($exec)){

            echo "['".date("Y/m", strtotime($row['data_dichiarato']))."',".$row['Montagliani']."],";


         }
        ?> 

       ]);

  var data5 = google.visualization.arrayToDataTable([
        ['Date', 'Galtieri'],
         <?php 
            $query = "SELECT responsabile, sum(val_fattu) as Galtieri, data_dichiarato FROM dichiarati_myennova WHERE responsabile = 'ADMRZ21' and dichiarati_myennova.DATA_DICHIARATO > (NOW() - INTERVAL 270 DAY) GROUP BY MONTH(data_dichiarato), responsabile ORDER BY data_dichiarato";
            $exec = mysqli_query($con,$query);
            while($row = mysqli_fetch_array($exec)){

            echo "['".date("Y/m", strtotime($row['data_dichiarato']))."',".$row['Galtieri']."],";


         }
        ?> 

       ]);


  var data6 = google.visualization.arrayToDataTable([
        ['Date', 'Giacometti'],
         <?php 
            $query = "SELECT responsabile, sum(val_fattu) as Giacometti, data_dichiarato FROM dichiarati_myennova WHERE responsabile = 'ADMRZ22' and dichiarati_myennova.DATA_DICHIARATO > (NOW() - INTERVAL 270 DAY) GROUP BY MONTH(data_dichiarato), responsabile ORDER BY data_dichiarato";
            $exec = mysqli_query($con,$query);
            while($row = mysqli_fetch_array($exec)){

            echo "['".date("Y/m", strtotime($row['data_dichiarato']))."',".$row['Giacometti']."],";


         }
        ?> 

       ]);


  var data7 = google.visualization.arrayToDataTable([
        ['Date', 'Mantovani'],
         <?php 
            $query = "SELECT responsabile, sum(val_fattu) as Mantovani, data_dichiarato FROM dichiarati_myennova WHERE responsabile = 'ADMRZ23' and dichiarati_myennova.DATA_DICHIARATO > (NOW() - INTERVAL 270 DAY) GROUP BY MONTH(data_dichiarato), responsabile ORDER BY data_dichiarato";
            $exec = mysqli_query($con,$query);
            while($row = mysqli_fetch_array($exec)){

            echo "['".date("Y/m", strtotime($row['data_dichiarato']))."',".$row['Mantovani']."],";


         }
        ?> 

       ]);



var joinedData = google.visualization.data.join(data1, data2, 'full', [[0, 0]], [1], [1]);
var joinedData2 = google.visualization.data.join(joinedData, data3, 'full', [[0, 0]], [1,2], [1]);
var joinedData3 = google.visualization.data.join(joinedData2, data4, 'full', [[0, 0, 0]], [1,2,3], [1]);
var joinedData4 = google.visualization.data.join(joinedData3, data5, 'full', [[0, 0, 0, 0]], [1,2,3,4], [1]);
var joinedData5 = google.visualization.data.join(joinedData4, data6, 'full', [[0, 0, 0, 0, 0]], [1,2,3,4,5], [1]);
var joinedData6 = google.visualization.data.join(joinedData5, data7, 'full', [[0, 0, 0, 0, 0, 0]], [1,2,3,4,5,6], [1]);

// sort by start and end dates

    // build view columns
   var viewColumns = [];
   for (var i = 0; i < joinedData6.getNumberOfColumns(); i++) {
   var range = joinedData6.getColumnRange(i);

// determine if column has values
if ((range.min !== null) || (range.max !== null)) {
  viewColumns.push(i);
    }
  }

  // build data view
  var view = new google.visualization.DataView(joinedData6);
  view.setColumns(viewColumns);

  var chart = new google.visualization.LineChart(document.querySelector('#chart_div'));
  chart.draw(view, {  // <-- use view to draw chart
height: 500,
width: 1400,
interpolateNulls: true,
  });
 });