简体   繁体   English

带有PHP和javascript数组的Google图表

[英]Google Charts with PHP and javascript arrays

I am trying to loop through an array elements to populate a google chart. 我正在尝试遍历数组元素以填充Google图表。 I can call array elements directly in php and in javascript and I also even converted a php array into a javascript array. 我可以直接在php和javascript中调用数组元素,甚至可以将php数组转换为javascript数组。 But I can only call an array element and not loop through an array. 但是我只能调用数组元素,而不能遍历数组。

What I can do... 我可以做什么...

<script src="js/modernizr.js"></script>

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

    var dateArray = <?php echo (json_encode($arrayDate)); ?>;
    var hitsArray = <?php echo (json_encode($arrayHits)); ?>;
    <!---document.write(myVariable);-->



    <!--Content Delivery Network Stats-->   
        google.load("visualization", "1", {packages:["corechart"]});      
        google.setOnLoadCallback(drawChart);      
        function drawChart() {        
        var data = google.visualization.arrayToDataTable([ 
        ['Date', 'Hits'],

                [dateArray[0], +hitsArray[0] ],
                [dateArray[1], +hitsArray[1] ],
                [dateArray[2], +hitsArray[2] ]

                ]);


        var options = {  title: 'Content Delivery Network Stats',          
        hAxis: {title: 'Date', titleTextStyle:   {color: 'red'}}        };        
        var chart = new google.visualization.ColumnChart  (document.getElementById('chart_div'));        chart.draw(data, options);      }
      <!--Content Delivery Network Stats-->
  </script>

What I am trying to do.... 我正在尝试做的...

<script src="js/modernizr.js"></script>

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

    var dateArray = <?php echo (json_encode($arrayDate)); ?>;
    var hitsArray = <?php echo (json_encode($arrayHits)); ?>;
    <!---document.write(myVariable);-->



    <!--Content Delivery Network Stats-->   
        google.load("visualization", "1", {packages:["corechart"]});      
        google.setOnLoadCallback(drawChart);      
        function drawChart() { 

        var myDataArray = [['Date', 'Hits']];
        for (var i = 0; i < dateArray.length; i++) {
            myDataArray.push([dateArray[i], hitsArray[i]);
        }
        var data = google.visualization.arrayToDataTable(myDataArray);              

        var options = {  title: 'Content Delivery Network Stats',          
        hAxis: {title: 'Date', titleTextStyle: {color: 'red'}}        };        
        var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));        chart.draw(data, options);      }
    <!--Content Delivery Network Stats-->
   </script>

Try this: 尝试这个:

var myDataArray = [['Date', 'Hits']];
for (var i = 0; i < dateArray.length; i++) {
    myDataArray.push([dateArray[i], hitsArray[i]]);
}
var data = google.visualization.arrayToDataTable(myDataArray);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM