0

特定の検索に応じて、多かれ少なかれチャートが表示されます。1 つのグラフを正常に作成できました。私の php ファイルは、必要な json 形式を適切に反映しています。

今、私が望むのは、配列をループして、php に解析される配列値に基づいて新しいチャートを描画できるようにすることです。これにより、レンダリングされるさまざまな json データが提供されます。

ちなみに、私のjavasriptは非常に限られているので、ここに私のコードと考えがあります:

<script type="text/javascript">
    $(function () {
        var chart;
        var venue = <?php echo json_encode($venue_name); ?>; /* parsed to php file */
        var distances = <?php echo json_encode($data); ?>; /* array to be looped over */
        $(document).ready(function() {

            var options = {
                    ....
                series: []
                    ....
             };

             //
            $.each(distances, function() {
               $.each(this, function(name, value) {
               // do some ajax magic here:... 
                GET 'myphpfile.php?venue='+venue+'&'+distances

                  function drawNewChart(){
                      $('#mainSite').append('<div id="container" style="float:left; display:inline"></div>');

                chart = new Highcharts.Chart(options); 
        });
    });        

    </script>

私が学んだことは、完成したphpとjqueryを含むインクルードphpファイルをループできないことです...

4

2 に答える 2

0

多くの変数を使用する代わりに、チャートを配列にプッシュできます。

var charts = [];
charts.push(new Highcharts(options));

次に、インデックスなどの使用を避けることができます。

于 2013-02-01T11:32:24.363 に答える
0

これにより、他のチャートが作成されます。新しいチャートを作成したいときはいつでも、私と同じようにチャートに新しい名前を付ける必要がありますchart2

このベローを貼り付けると、他のチャートが表示されます。

   <script type="text/javascript">
$(function () {
    var chart2;
    var venue2 = <?php echo json_encode($venue_name); ?>; /* <---use other variable here of $venue_name */
    var distances2 = <?php echo json_encode($data); ?>; /* <---use other variable of $data */
    $(document).ready(function() {

        var options = {
                ....
            series: []
                ....
         };

         //
        $.each(distances2, function() {
           $.each(this, function(name, value) {
           // do some ajax magic here:... 
            GET 'myphpfile.php?venue2='+venue2+'&'+distances2

              function drawNewChart(){
                  $('#mainSite').append('<div id="container" style="float:left; display:inline"></div>');

            chart2 = new Highcharts.Chart(options); 
    });
});        

</script>
于 2013-01-20T11:09:15.183 に答える