繁体   English   中英

Javascript中的PHP变量不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM