2013-08-01 6 views
6

To jest moje pierwsze pytanie. Uprzejmie przepraszamy za wszelkie błędy.Tablica danych Chart.js przy użyciu PHP, MySQL. Jak zdefiniować źródło danych z tablicy JSON?

Próbuję narysować wykres przy użyciu pliku chart.js z danymi PHP i MySQL. Wykres, który zamierzam narysować, to prosty pionowy wykres słupkowy, rok urodzenia i liczba osób urodzonych. Kiedy wyświetlam tablice $ BIRTH_YEAR i $ COUNTS, mogę zobaczyć wartości. Udało mi się dojść do rzeczy aż do json_encode ($ data_array). Kiedy próbuję użyć tej kodowanej tablicy w javascript, nie otrzymuję żadnego wyjścia, pustej strony! Oto mój kod.

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

Dołączyłem wszystkie pozostałe wymagane elementy HTML na mojej stronie. Kiedy używam przykładowego pliku chart.js, mogłem zobaczyć wykresy. Jedynym problemem jest to, że nie jestem pewien, jak dołączyć tablice w danych javascript: część. Z góry dziękuję.

Odpowiedz

2

Można użyć $js_cols = json_encode($COUNTS,JSON_NUMERIC_CHECK);

a następnie

data : <?php echo print_r($js_cols,true); ?> 
Powiązane problemy