2016-07-15 4 views
0

私は以下のコードでモリス棒グラフでデータを表示するために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を使用していますか?またはHTMLとすべてと一緒にPHPファイルの内部のjavascriptコードですか?なぜブラウザで(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 '] 
}); 
関連する問題