0

Google チャートに問題があります。それぞれに5つの(phpで生成された)および5つのIDを持つWebページを開発しました:

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

ids1つだけをループしている5つはどこですかid

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

このようになるはずです

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

のようなdivを追加します

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 に答える