2016-07-15 107 views
0

我试图使用PHP在下面的代码显示莫里斯条形图中的数据:使用PHP在莫里斯图表来显示数据

Morris.Bar({ 
    element: 'bar-example', 
    data: [ 
     { <?php echo $graphData[0]; ?> }, 
     { <?php echo $graphData[1]; ?> }, 
     { <?php echo $graphData[2]; ?> }, 
     { <?php echo $graphData[3]; ?> }, 
     { <?php echo $graphData[4]; ?> }, 
     { <?php echo $graphData[5]; ?> }, 
     { <?php echo $graphData[6]; ?> } 
    ], 
    xkey: 'y', 
    stacked: true, 
    ykeys: ['Spotify ','Apple '], 
    labels: ['Spotify ','Apple '] 
    }); 

的问题是,当我复制并粘贴回馈字符串直接在数据字段中,如 - > y:'Feb','Spotify':9.99,图表显示数据。但是,当我允许php将此字符串回显到数据字段中时,该图形不会显示数据。不知道为什么。我在这里先向您的帮助表示感谢!

+0

你在你的JS文件里面使用PHP吗?或者是PHP文件中的JavaScript代码以及HTML和一切?你为什么不检查在浏览器中打开页面时使用的加载源代码(使用F12键),源代码是你所期望的? – aampudia

+0

它是在HTML文件和一切的PHP文件。感谢您在浏览器中检查源代码的提示。仍然是网络开发新手,这确实有帮助。 –

+0

我很高兴它帮助!你解决了你的问题吗?有时候,sourcode视图可以帮助你捕捉你在编码中遗漏的一些“或者”,但是会把所有东西搞乱... – aampudia

回答

1

你可以在PHP中创建数据的数组,然后转换成数组JSON
在JavaScript中使用JSON:

$data = [ 
    [ 'year'=> '2008', 'value'=> 20 ], 
    [ 'year'=> '2009', 'value'=> 10 ], 
    [ 'year'=> '2010', 'value'=> 5 ], 
    [ 'year'=> '2011', 'value'=> 5 ], 
    [ 'year'=> '2012', 'value'=> 20 ] 
    ]; 

$jsonForUseInJavascript = json_encode($data); 

,然后在javascript回声JSON并将其解析到数组:

Morris.Bar({ 
    element: 'bar-example', 
    data: JSON.parse('<?php echo $jsonForUseInJavascript ?>'), 
xkey: 'y', 
    stacked: true, 
    ykeys: ['Spotify ','Apple '], 
    labels: ['Spotify ','Apple '] 
});