2016-07-15 36 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 '] 
});