【发布时间】:2020-06-17 17:24:04
【问题描述】:
我在 10 个 mysql 表中有数据,我想将它们显示为图表。我想让函数每次点击只显示一个图表。到目前为止,我对每个 html 标签和 js 函数都进行了硬编码,硬编码是
<p onclick="dOgan()">display ogan</p>
<p onclick="dKomering()">display komering</p>
<canvas id="ogan" width="200" height="120" style="display: block;" class="show"></canvas>
<canvas id="komering" width="200" height="120" style="display: block;" class="show"></canvas>
var ctx = document.getElementById(`ogan`);
var myChart = new Chart(ctx, {
type: 'line',
data: {
labels: [<?php while ($t = mysqli_fetch_array($time)) {
echo '"' . $t['time'] . '",';
} ?>],
datasets: [{
label: `ogan`,
data: [<?php while ($v = mysqli_fetch_array($water_level)) {
echo '"' . $v['water_level'] . '",';
} ?>],
backgroundColor: 'rgba(35,137,218, 0.7)',
}]
},
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
}
}
});
var station = document.querySelectorAll("#komering, #ogan");
function dOgan() {
for (var i = 0; i < station.length; i++) {
station[i].style.display = 'none';
document.querySelector('#ogan').style.display = "block";
}
}
function dKomering() {
for (var i = 0; i < station.length; i++) {
station[i].style.display = 'none';
document.querySelector('#komering').style.display = "block";
}
}
我正在使用 chartJS 来制作图表。我怎样才能在没有硬编码的情况下制作它?我尝试使用循环,但没有任何效果,我不完全理解循环,php-javascript 组合也让我很困惑。任何帮助将不胜感激,谢谢。
【问题讨论】:
标签: javascript php loops