2013-08-01 13 views
6

Questa è la mia prima domanda. Si prega di scusarsi per eventuali errori.Array di dati Chart.js con PHP, MySQL. Come definire l'origine dati dall'array JSON?

Sto provando a disegnare un grafico utilizzando chart.js con dati PHP e MySQL. Il grafico che intendo disegnare è un semplice diagramma a barre verticale, birth_year vs numero di persone nate. Quando visualizzo gli array $ BIRTH_YEAR e $ COUNTS, potrei vedere i valori. Sono stato in grado di arrivare al punto fino a json_encode ($ data_array). Quando provo a usare questo array codificato su javascript, non ottengo alcun output, una pagina vuota! Ecco il mio codice.

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { 
$data[] = array(
    $row['BIRTH_YEAR']=>$row['counts'], 
); 
$BIRTH_YEAR[]=$row['BIRTH_YEAR']; 
$COUNTS[]=$row['counts']; 
} 

// JSON arrays for labels and counts 
$js_labels = json_encode($BIRTH_YEAR,true); 
$js_cols = json_encode($COUNTS,true); 


var barChartData = { 
     labels : '<?php echo $js_labels; ?>', 
        datasets : [ 
      { 
       fillColor : "rgba(220,220,220,0.5)", 
       strokeColor : "rgba(220,220,220,1)", 
       data : '<?php echo $js_cols; ?>' 
      } 

     ] 
        } 

var myLine = new Chart(document.getElementById("canvas").getContext("2d")).Bar(barChartData); 

ho incluso tutti gli altri elementi richiesti HTML nella mia pagina. Quando utilizzo il file di esempio chart.js sono riuscito a visualizzare i grafici. L'unico problema è che non sono sicuro di come includere gli array nei dati javascript: parte. Grazie in anticipo.

risposta

2

Si potrebbe utilizzare $js_cols = json_encode($COUNTS,JSON_NUMERIC_CHECK);

e poi

data : <?php echo print_r($js_cols,true); ?>