Highcharts série de données d'un problème avec ajax/json et PHP

C'est ma première demande ici, et j'ai lu de nombreux autres messages sur ce même problème, mais je suis TOUJOURS coincé, et quasiment à bout de ressources sur ce... de Sorte que toute aide est très appréciée!

J'ai suivantes Highcharts objet sur Page1.php et je suis en utilisant AJAX pour obtenir des données de Page2.php au chargement de la page ainsi que lorsqu'une option de liste déroulante est changé.

(tronquée pour faciliter la lecture):

$(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);
});

});

Page2.php a la suite de l'envoi de retour 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);         
}

Mon json retour ressemble à ceci:

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

Quand mon tableau de charges, il remplit 135 Série des noms (?!?!?!) au fond et ne semble pas montrer les points sur la ligne graphique.

Si je supprime les guillemets doubles et les coder en dur le résultat dans la baie de la série, il fonctionne très bien (même si j'ai remarqué que l'exemple ne semble pas avoir une virgule entre les objets.

VOUS REMERCIER pour toute l'aide ...surtout les réponses rapides! 😉

J'ai découvert que mon $.chaque section est la création de l'135 ou alors "Série", car il y a le même nombre de caractères dans ma chaîne de réponse. Donc, en quelque sorte l' $.chacun est de créer un NOUVEL objet de données pour chaque caractère de la chaîne. Dois-je être parser le JSON en quelque sorte? Je suis prêt à tout format de ma sortie en PHP et de le mettre dans une variable de session!

OriginalL'auteur gtr1971 | 2011-11-08