[英]PHP variables in Javascript doesn't work
我正在尝试在Google图表中显示获取的数据,但是未回显javascript内部的PHP变量。.如果我在javascript外部回显了所有变量,则一切正常,因此我怀疑我的javascript一定有问题。检查了一切,但我不知道我们的问题出在哪里..
该代码未显示任何错误!
这是浏览器源中的输出。
['Active Posts',$post_counts],['Categories',$category_counts],['Users',$user_counts],['Comments',$comment_counts],
有什么建议吗?
谢谢
<script type="text/javascript">
google.charts.load('current', {'packages':['bar']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Data', 'Count'],
<?php
$data_text = ['Active Posts', 'Categories', 'Users', 'Comments'];
$data_count = ['$post_counts', '$category_counts', '$user_counts', '$comment_counts'];
for($i = 0; $i < 4; $i++) {
echo "['$data_text[$i]'" . "," . "$data_count[$i]],";
}
?>
]);
var options = {
chart: {
title: '',
subtitle: '',
}
};
var chart = new google.charts.Bar(document.getElementById('columnchart_material'));
chart.draw(data, google.charts.Bar.convertOptions(options));
}
</script>
由于您已经在使用PHP为JS输出数据,因此只需使用json_encode将ARRAY转换为JSON数据即可。
<?php
$data = [
'Data' => 'Count',
'Active Posts' => $post_counts,
'Categories' => $category_counts,
'Users' => $user_counts,
'Comments' => $comment_counts
];
$json = json_encode($data);
?>
var data = google.visualization.arrayToDataTable("<?php echo $json; ?>");
从php变量中删除引号,
用这个,
$data_count = [$post_counts, $category_counts, $user_counts, $comment_counts];
代替,
$data_count = ['$post_counts', '$category_counts', '$user_counts', '$comment_counts'];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.