2016-07-15 3 views
0

Я пытаюсь использовать PHP для отображения данных в виде гистограммы Моррис в коде ниже:Использование PHP для отображения данных в Morris Chart

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

Вы используете PHP внутри своего JS-файла? или javascript-код внутри php-файла вместе с HTML и все такое? почему бы вам не проверить исходный код, загруженный при открытии страницы в браузере (с использованием клавиши F12), является ли исходный код ожидаемым? – aampudia

+0

Он находится в php-файле с HTML и всем. Спасибо за подсказку проверки исходного кода в браузере. Еще новичок в веб-разработке, и это действительно помогло. –

+0

Я рад, что это помогло! Вы решили свою проблему? иногда представление sourcode помогает вам поймать некоторые «или» там, которые вы пропустили в своей кодировке, но все испортило ... – aampudia

ответ

1

вы можете создать массив данных в PHP, а затем преобразовать массив JSON
и использовать JSON в JavaScript:

$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 '] 
}); 
Смежные вопросы