[英]Data for the Morris.js bar graph is from a php database loop
我有這個PHP代碼:
$number = mysqli_num_rows(mysqli_query($db_conn, "Select * from barangay"));
for ($i=1; $i<=$number; $i++){
$chart_fetch=mysqli_query($db_conn, "Select * from health where BRGY_id=$i");
$chart_data[$i] = "";
while($chart=mysqli_fetch_array($chart_fetch)){
$chart_data[$i] .= "{year:'".$chart["year"]."', pneumonia:".$chart["pneumonia"].", asthma:".$chart["asthma"].", tuberculosis:".$chart["tuberculosis"]."}, ";
}
$chart_data[$i] = substr($chart_data[$i], 0, -2);
}
對於圖表腳本:
<script>
var max = <?php echo $number; ?>;
for (i=1; i<=max; i++){
Morris.Bar({
element: 'chart'+i,
data:[ <?php echo $chart_data[$i]; ?>],
xkey:'year',
ykeys:['pneumonia', 'asthma', 'tuberculosis'],
labels:['Pneumonia', 'Asthma', 'Tuberculosis'], //label for the pop-up key
hideHover:'auto',
barColors: ['#036016', '#009f29', '#03440C']
});
}
</script>
我似乎無法讓chart_data [$ i]繼續添加一個值,這樣我就可以像上面所說的那樣從php腳本中獲取數據。
我的代碼的輸出必須如下所示: 對於Barangay 1 對於Barangay 2
由於客戶端和服務器問題,由於無法創建循環或將腳本變量i連接到php代碼,因此無法執行。
我已經有了解決我問題的答案。 我要做的只是將腳本插入php代碼,然后讓php為我執行循環。
我早該知道的。 :)
但是無論如何,這是在諸如此類的情況下可以幫助他人的代碼。
<?php
$number1 = mysqli_num_rows(mysqli_query($db_conn, "Select * from barangay"));
for ($z=1; $z<=$number1; $z++){
$z=$z;
echo"<script>
var i =1;
var max= $number1;
Morris.Bar({
element: chart$z,
data:[$chart_data[$z]],
xkey:'year',
ykeys:['pneumonia', 'asthma', 'tuberculosis'],
labels:['Pneumonia', 'Asthma', 'Tuberculosis'],
hideHover:'auto',
barColors: ['#036016', '#009f29', '#03440C']
});
</script>
";
}
?>
並且輸出將是不同的條形圖,這些條形圖將從數據庫中獲取其數據。 <3這樣,(這是通過Web瀏覽器進行的67%縮放,因此您可以看到我的7個圖中有2個具有從數據庫中提取的不同數據): 條形圖1和2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.