基于数组创建动态Highcharts

时间:2014-04-09 03:43:01

标签: php mysql variables highcharts

要排除我正在做的事情。我有一个循环,从我的数据库中提取的信息创建一个表。我在循环中设置了一个超全局变量,它将我的一个表字段值赋给变量;那部分没有问题。

问题是当我尝试在highcharts函数中调用该变量时,它只是不起作用。图表没有显示出来。

$(document).ready(function() {

    var $container = $('$global_var');
        Highcharts.setOptions({
            chart: {
                backgroundColor: {
                    linearGradient: [0, 0, 500, 500],
                    stops: [
                        [0, 'rgb(255, 255, 255)'],
                        [1, 'rgb(240, 240, 255)']
                        ]
                },
                borderWidth: 2,
                plotBackgroundColor: 'rgba(255, 255, 255, .9)',
                plotShadow: true,
                plotBorderWidth: 1
            }
        });

         var chart1  = new Highcharts.Chart({
            chart: {
                renderTo: $container,
            },

            xAxis: {
                type: 'datetime'
            },

            series: [{
                data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],
                pointStart: Date.UTC(2010, 0, 1),
                pointInterval: 3600 * 1000 // one hour
            }]
        });

    });
    </script>

在创建的表中,我插入了一个带有动态ID的<div>(与我试图与highcharts函数一起使用的数组的值相同),这也有效。唯一的问题是我似乎无法将变量传递给highcharts函数的renderTo部分。

以下是我在表循环中声明我的超全局变量的方法(再次,工作正常):

$GLOBALS['a'] = $row['Name'] . $temp_array;

TL; DR ..如果有人知道如何在Highcharts函数中将变量传递给renderTo,我真的很想知道你是怎么做的。希望这是足够的信息,但如果不是,我会很乐意提供所要求的。谢谢!

1 个答案:

答案 0 :(得分:0)

在渲染中,你需要在返回时添加字符串而不是对象。

所以它应该是

 var $container = 'global_var', //id of container, string

并在图表中

 chart: {
            renderTo: $container,
        },

如果你想将js变量与来自php变量的字符串组合起来,它应该是:

var $container = '<?php echo $variable ?>',