Передача возвращенных данных из PHP-скрипта в блок данных Highcharts? - PullRequest
1 голос
/ 10 августа 2011

У меня есть точечная диаграмма Highchart, которая отображает данные, рассчитанные с использованием сценария PHP.Значения передаются в скрипт PHP через функцию jQuery .get и возвращаются в шаблон ExpressionEngine.Код PHP, который я использую, выглядит примерно так:

    printf("{x:'%3.2f',y:'%3.2f',fillColor:'#058DC7'},",$annualReturns[2] * 100.0,$annualSemiStDev[2]);
    printf("{x:'%3.2f',y:'%3.2f',fillColor:'#50B432'},",$annualReturns[3] * 100.0,$annualSemiStDev[3]);
    printf("{x:'%3.2f',y:'%3.2f',fillColor:'#ED561B'},",$annualReturns[4] * 100.0,$annualSemiStDev[4]);

Вернувшись в шаблон ExpressionEngine, данные сразу же перетаскиваются в библиотеку Highcharts через функцию JavaScript (некоторые данные поступают в PHPскрипт компилируется другой функцией JavaScript), которая создает диаграмму рассеяния Highcharts.

    updateScatterChart(data);

Вот где я сталкиваюсь с моей проблемой.Данные должны отображаться, как и ожидалось:

  series: [{
          name: 'Custom',
          data:[ DATA NEEDS TO LIVE HERE ]
          }]

Чтобы убедиться, что я получаю правильные данные, непосредственно внутри функции updateScatterChart я отображаю результаты в окне предупреждения - используя alert(data) - и я получаю это:

  {x:'12.48',y:'3.52',fillColor:'#058DC7'}
  {x:'34.82',y:'16.11',fillColor:'#50B432'}
  {x:'8.32',y:'9.35',fillColor:'#ED561B'}

, которое при вставке в мой блок data[] отображает мою диаграмму разброса, как и ожидалось.Итак, мои данные хорошие.Этот вставленный блок кода выглядит следующим образом:

  series: [{
          name: 'Custom',
          data:[ 
               {x:'12.48',y:'3.52',fillColor:'#058DC7'}
               {x:'34.82',y:'16.11',fillColor:'#50B432'}
               {x:'8.32',y:'9.35',fillColor:'#ED561B'}
              ]
          }]

Точка подключения, которую я пропускаю, - это получение возвращенных данных для вывода непосредственно в блок data:[].

Я довольно новыйв PHP и в меньшей степени в JavaScript, но переключение таких языков (перемещение данных из PHP в JavaScript) все еще немного выходит за рамки моей базы знаний.

1 Ответ

0 голосов
/ 10 августа 2011
<?php
    $data = array(
        (object)array('x'=>12.48, 'y'=>3.52, 'fillOClor'=>'#058DC7'),
        (object)array('x'=>34.82, 'y'=>16.11, 'fillOClor'=>'#50B432'),
        //more to come
    );
?>
series: [{
      name: 'Custom',
      data: <?php echo json_encode($data)?>
      }]

Примечание квадратные скобки сняты с data

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...