为Highchart图传递动态php值

时间:2014-11-26 01:18:19

标签: javascript php mysql highcharts

我有一个php文件,我将它连接到MySQL并获取一些值。我想在.tpl文件中使用这些值来显示我正在使用Highcharts的图形。我不知道能不能将php值传递给javascript图。请看一下代码并告诉我哪里出错了。

我的PHP代码是:

$sqlStr = "select * from users where user_id=".$_SESSION['user_id'];

        $sqlQuery = mysql_query($sqlStr) or die(mysql_error()."<hr>".$sqlStr);

        if ( mysql_num_rows($sqlQuery) ) {

            $rowMyReport = mysql_fetch_assoc($sqlQuery);

            $smarty->assign("value1",$rowMyReport['value1']);
            $smarty->assign("value2",$rowMyReport['value2']);
            $smarty->assign("value3",$rowMyReport['value3']);
            $smarty->assign("value4",$rowMyReport['value4']);
            }  

现在我想在Highcharts中使用这些值在我的网站上显示图表。所以我尝试了这个:

$(function () {
$('#graph').highcharts({
    chart: {
        plotBackgroundColor: null,
        plotBorderWidth: 1,//null,
        plotShadow: false
    },
    title: {
        text: 'Browser market shares at a specific website, 2014'
    },
    tooltip: {
        pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
    },
    plotOptions: {
        pie: {
            allowPointSelect: true,
            cursor: 'pointer',
            dataLabels: {
                enabled: true,
                format: '<b>{point.name}</b>: {point.percentage:.1f} %',
                style: {
                    color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black'
                }
            }
        }
    },
    series: [{
        type: 'pie',
        name: 'Some-name',
        data: [
            ['title1',  <?php echo $value1; ?>],
            ['title2',       <?php echo $value2; ?>],
            ['title3',   <?php echo $value3; ?>],
            ['title4',    <?php echo $value4; ?>]
        ]
    }]
});
});

我在.tpl文件中调用此图形为:

<div id="graph" style="min-width: 200px; height: 200px; margin: 0 auto"></div>

通过提供硬编码值,图形会显示,但是当我使用动态值(php值)时,图形不会显示。任何帮助将不胜感激......

1 个答案:

答案 0 :(得分:2)

在传递数据之前,在控制器中使用json_encode

相关问题