doumor942473 2016-05-15 00:46
浏览 65
已采纳

在PHP变量中为Javascript Donut Chart引用PHP变量

I'm having a bit of a difficult time today with passing some PHP variables over to Javascript for a Donut chart. I've been messing with this for a good while now and haven't been able to figure it out yet, I've checked through posts on here as well as numerous google searches but haven't been able to find the answer yet. Here's what I'm trying to accomplish:

I'm trying to push data from MySQL to a Javascript Donut chart for web referrers to a specific PHP page. The syntax for the Javascript chart is as such:

<script>
Morris.Donut({
element: 'css div',
data: 
[
{ label: '<?php echo($graph["referrer"]); ?>', value: '<?php echo($graph["chart"]); ?>' },
] 
});
</script>

The $graph['referrer'] variable holds a referrer name such as "Google.com", and the $graph['count'] variable holds the corresponding record count for the referrer name as a number, such as "5".

The Javascript line that starts with "{label" denotes one part of the Donut chart. Initially the data pulled from MySQL is done so with fetchArray(), what I am trying to do is to generate each "{label" line using a PHP foreach statement (eg. foreach($Array as $graph)) so that the graph can be generated dynamically based on the number of referrer names returned by fetchArray(). I've tried pretty much everything I can think of to make this work - storing the entire Javascript line in PHP and then echoing it out to Javascript, etc. But it always causes an internal error with PHP.

I'm sure the answer is right under my nose, thank you all for your time.

  • 写回答

4条回答 默认 最新

  • duanjipiao7076 2016-05-15 00:53
    关注

    Use json_encode() to generate a clean data object:

    in PHP:

    $data = array( array( 'label' => $graph["referrer"] ), 'value' => $graph["chart"] ) );
    

    in your JavaScript;

    data: <?php echo json_encode($data); ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部