2013-08-01 8 views
6

Das ist meine erste Frage. Bitte entschuldigen Sie sich für etwaige Fehler.Chart.js Daten-Array mit PHP, MySQL. Wie definiere ich eine Datenquelle aus dem JSON-Array?

Ich versuche, ein Diagramm mit chart.js mit PHP und MySQL Daten zu zeichnen. Das Diagramm, das ich zeichnen möchte, ist ein einfaches vertikales Balkendiagramm, birth_year vs. Anzahl der geborenen Personen. Wenn ich die Arrays $ BIRTH_YEAR und $ COUNTS zeige, könnte ich die Werte sehen. Ich konnte bis zum Punkt json_encode ($ data_array) kommen. Wenn ich versuche, dieses kodierte Array in Javascript zu verwenden, bekomme ich keine Ausgabe, eine leere Seite! Hier ist mein Code.

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); 

Ich habe alle anderen erforderlichen HTML-Elemente in meiner Seite enthalten. Als ich die chart.js Beispieldatei benutzte, konnte ich Diagramme sehen. Das einzige Problem ist, ich bin mir nicht sicher, wie Arrays in JavaScript-Daten: Teil. Danke im Voraus.

Antwort

2

könnten Sie verwenden $js_cols = json_encode($COUNTS,JSON_NUMERIC_CHECK);

und dann

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