0

我对谷歌图表有疑问。我开发了一个网页,每个网页有 5 个(用 php 生成)和 5 个 ID:

echo "<div id = \"ID\"  style=\"display:none;\">"

我还有 5 个包含所有信息的 json 数组。我在表格中显示每个数据,但我还想用我的数据显示图表。我试图这样做(但它不起作用):

for ($i = 0; $i<$n;$i++){

     $jsonTable = json_encode(${'table'.$Result_array[$i][1]});

            $ID =  $Result_array[$i][1]; //ID for the div
            echo "<script  type=\"text/javascript\">
                        google.load('visualization', '1', {'packages':['corechart']});

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

                function drawChart() {

                  // Create our data table out of JSON data loaded from server.
                      var data = new google.visualization.DataTable(".$jsonTable.");
                      var options = {
                              title: 'Company Performance',
                              hAxis: {title: 'L value', titleTextStyle: {color: 'red'}, gridlines:{count:10} },
                              vAxis: {
                                  title: \"I rms\", 

                                  maxValue:1.5,

                                gridlines:{count:10}
                              }

                            };


                      // Instantiate and draw our chart, passing in some options.
                      // Do not forget to check your div ID
                      var chart = new google.visualization.ColumnChart(document.getElementById('".$ID."'));
                     chart.draw(data, options);

                }
            }


            </script>";
}

如果我将此代码仅用于 1 个表,则工作正常,但是当我使用循环并尝试生成多个图表时,它不起作用。任何人都可以帮助我吗?谢谢!

PS:也许我还要解释一下,首先,我有一个表格,上面有我的 5 个结果,当我点击时,我有一个 onclik 功能可以取消隐藏相应的 . 这总是有效(有图表和没有图表),但从不显示图表....

4

1 回答 1

0

ids您只循环遍历一个的 5 个在哪里id

var chart = new google.visualization.ColumnChart(document.getElementById('".$ID."'));

应该是这样的

var chart = new google.visualization.ColumnChart(document.getElementById('".$ID."_".$i"'));

并添加像

echo "<div id = \"ID_0\"  style=\"display:none;\">"
echo "<div id = \"ID_1\"  style=\"display:none;\">"
echo "<div id = \"ID_2\"  style=\"display:none;\">"
echo "<div id = \"ID_3\"  style=\"display:none;\">"
echo "<div id = \"ID_4\"  style=\"display:none;\">"
于 2013-07-03T12:40:16.580 回答