У меня есть php-файл, и я подключаю его к MySQL и извлекаю некоторые значения. Я хочу использовать эти значения в файле .tpl для отображения графиков, для которых я использую Highcharts. Я как-то не могу передать значения php на график, который является javascript. Пожалуйста, взгляните на код и скажите мне, где я буду ошибаться.Передача динамических значений php для графиков Highchart
Мой 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 значения) не отображается. Любая помощь была бы оценена ...
Возможно, проблема заключается в том, что ваши значения являются строкой, а не цифрами. Поэтому используйте json_encode(). Для получения дополнительной информации посетите наш [веб-сайт] (http://www.highcharts.com/docs/working-with-data/preprocessing-data-from-a-database) –