我有一个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值)时,图形不会显示。任何帮助将不胜感激......
答案 0 :(得分:2)
在传递数据之前,在控制器中使用json_encode
。