2013-08-01 45 views
6

Đây là câu hỏi đầu tiên của tôi. Vui lòng xin lỗi vì bất kỳ lỗi nào.mảng dữ liệu Chart.js sử dụng PHP, MySQL. Làm thế nào để xác định nguồn dữ liệu từ mảng JSON?

Tôi đang cố vẽ biểu đồ bằng cách sử dụng biểu đồ.js với dữ liệu PHP và MySQL. Biểu đồ tôi định vẽ là một sơ đồ dọc đơn giản, birth_year so với số người sinh ra. Khi tôi hiển thị các mảng $ BIRTH_YEAR và $ COUNTS, tôi có thể thấy các giá trị. Tôi đã có thể đạt được điểm cho đến khi json_encode ($ data_array). Khi tôi cố gắng sử dụng mảng được mã hóa này trên javascript, tôi không nhận được bất kỳ đầu ra nào, một trang trống! Đây là mã của tôi.

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

Tôi đã bao gồm tất cả các phần tử HTML bắt buộc khác trong trang của mình. Khi tôi sử dụng tệp mẫu chart.js, tôi có thể xem biểu đồ. Vấn đề duy nhất là tôi không chắc chắn làm thế nào để bao gồm mảng trong dữ liệu javascript: một phần. Cảm ơn trước.

Trả lời

2

Bạn có thể sử dụng $js_cols = json_encode($COUNTS,JSON_NUMERIC_CHECK);

và sau đó

data : <?php echo print_r($js_cols,true); ?> 
Các vấn đề liên quan