Проблема с серией данных Highcharts с ajax / json и PHP

Это мой первый запрос здесь, и я прочитал много других связанных сообщений по этой же проблеме, но я ВСЕГДА застреваю и в значительной степени в своем уме на этом ... Так что любой помощь очень ценится!

У меня есть следующий объект Highcharts на Page1.php, и я использую AJAX для получения данных из Page2.php при загрузке страницы, а также при изменении раскрывающегося списка.

(усечено для удобства чтения):

$(document).ready(function() {

   var e = document.getElementById("selOption"); //<--- This is the dropdown
   var domText = e.options[0].text;
   var domID = e.options[e.selectedIndex].value;

   var options = {
      chart: {
         renderTo: 'linechart',
         type: 'line'
      },
      title: {
         text: 'Title for ' + domText
      },
      subtitle: {
         text: ''   
      },
      xAxis: {
         type: 'datetime',
         dateTimeLabelFormats: {
            month: '%b %e, %Y',
            year: '%Y'
         }
      },
      yAxis: {
         title: {
            text: 'Important Values'
         },
         reversed: true,
         min: 0,
         max: 100
      },
      tooltip: {
         formatter: function() {
                   return '<b>'+ this.series.name +'</b><br/>'+
               Highcharts.dateFormat('%b %e', this.x) +': '+ this.y;
         }
      },
      series: []

};

$.get('Page2.php?domID=' + domID,function(data) {
    $.each(data, function(key,value) {
        //var series = {};
        //series.name.push(value);
        //series.data.push([value]);
        options.series.push(data);
        //alert(data);
    });

    var linechart = new Highcharts.Chart(options);
});

});

Стр.php имеет следующую отправку json:

$sqlSelect = "SELECT Item1,Item2,Item3 FROM... ";
$result = mysql_query($sqlSelect);

while ($item = mysql_fetch_assoc($result)) {            
    $name = $item['Item1'];
    $date = str_replace("-",",",$item['Item2']);
    $pos = $item['Item3'];

    $arr = array("name"=>$name,"data"=>"[Date.UTC(".$date."), ".$pos." ],");
    echo json_encode($arr);         
}

Мой возврат json выглядит так:

{"name":"Item1","data":"[Date.UTC(2011,11,08), 4 ],"}
{"name":"Item1","data":"[Date.UTC(2011,11,08), 2 ],"}

Когда моя диаграмма загружается, она заполняет 135 имен серий (?!?!?!) внизу и не отображается показать точки на линейном графике.

Если я уберу двойные кавычки и жестко закодирую результат в массиве серий, он будет отлично работать (хотя я заметил, что в примере нет запятой между объектами.

СПАСИБО за помощь .. . особо быстрые ответы!; -)

11
задан sam-w 9 November 2011 в 16:26
поделиться