无法读取属性' DataTable'在谷歌图表中未定义

时间:2017-12-27 21:19:59

标签: javascript php charts google-visualization

作为标题说我在尝试在其他文件中获取图表内的图表时会出现此错误

的functions.php

 function get_likes($catid){
     require dirname (__FILE__).'/dbfunction.php';
  ?>
 <script type="text/javascript" src="../assets/js/charts_min.js"></script>
 <script type="text/javascript" src="../assets/js/functions.js"></script>
 <?php
 /// myquery here fetching the likes from database
 ?>
  <script>
      google.charts.load('current', {'packages':['corechart']});
  </script>
 <?php
 if ($polls->execute()) {
 while ($row = $polls->fetch(PDO::FETCH_ASSOC)) {
    ?>
    <script>

    a= <?php echo 2; ?> ;
    b= <?php echo 3; ?> ;
    c= <?php echo  5; ?> ;
    i= <?php echo  $row['id']; ?> ; ///// this i is looped to id 31 and 32
    google.charts.setOnLoadCallback(function() { drawChart(a,b,c,i)}); ////But this didnt loop and it prints one chart for id 31. Because when i make alert(i) inside drawChart it alerts two times 31 and 31 .
    </script>
    <?php
     echo "<div id="Votes_container"></div>";
   }
}

my functions.js

   function drawChart(a,b,c,i) {

    // Create the data table.
    var data = new google.visualization.DataTable();
    data.addColumn('string', 'Topping');
    data.addColumn('number', 'Slices');
    data.addRows([
      ['do', a],
      ['ri', b],
      ['me', c]
    ]);

    // Set chart options
    var options = {'title':'',
                   'width':500,
                   'height':300};

    // Instantiate and draw our chart, passing in some options.
    var chart = new google.visualization.BarChart(document.getElementById('Votes_container'+i));
    chart.draw(data, options);
  }

我的index.php

    require 'includes/functions.php';
    $id = 1 ;
   get_likes($catid) ;

因此,当我加载index.php时,我想获取从数据库获取数据的图表并带有get_likes()函数,但我的尝试没有意识到它会在标题中引发错误。 这个错误位于哪里。请问我在downvoting之前是否忘记了什么:)。

感谢您的帮助。

编辑:我已经编辑了div应该加载图表的id,但它也不起作用和相同的错误。

编辑建议的评论,它打印图表,但现在不循环播放所有ID。

最后编辑:这个编辑即时编写它对我有用。

我必须在函数中声明变量,

   google.charts.setOnLoadCallback(function() { 
    a= <?php echo 2; ?> ;
    b= <?php echo 3; ?> ;
    c= <?php echo  5; ?> ;
    i= <?php echo  $row['id']; ?> ;
  drawChart(a,b,c,i)});

0 个答案:

没有答案