【发布时间】:2022-01-21 10:55:26
【问题描述】:
我想使用 MySQL 表中的以下数据绘制折线图。
日期 - 12 月 10 日、12 月 11 日、12 月 12 日、12 月 13 日、12 月 14 日、12 月 15 日、12 月 16 日、12 月 17 日、12 月 18 日、12 月 19 日、12 月 20 日 出席人数 - 65、58、56、78、51、54、69、35、68、43、52
我做了两个查询来提取数据并使用下面的代码存储在两个数组中,即$data1 和$data2
$con = new mysqli($servername, $username, $password, $db);
$myquery1 = "select date from Table_attendance";
$query1 = mysqli_query($con, $myquery1);
if ( ! $query1 ) {
echo mysqli_error();
die;
}
for ($x = 0; $x < mysqli_num_rows($query1); $x++) {
$data1[] = mysqli_fetch_assoc($query1);
}
$my1 = "select attendance from Table_attendance";
$qu1 = mysqli_query($con, $my1);
if ( ! $qu1 ) {
echo mysqli_error();
die;
}
for ($x = 0; $x < mysqli_num_rows($qu1); $x++) {
$data2[] = mysqli_fetch_assoc($qu1);
}
然后我使用以下代码将$data1 和$data2 两个数组编码为json 格式。
$encod = json_encode($data1);
$encod2 = json_encode($data2);
数组的输出如下。
[{"date":"2021-12-10"},{"date":"2021-12-11"},{"date":"2021-12-12"},{"date" :"2021-12-13"},{"日期":"2021-12-14"},{"日期":"2021-12-15"},{"日期":"2021-12-16" },{"日期":"2021-12-17"},{"日期":"2021-12-18"},{"日期":"2021-12-19"},{"日期":" 2021-12-20"}]
[{“出勤”:“65”},{“出勤”:“58”},{“出勤”:“56”},{“出勤”:“78”},{“出勤”:“ 51"},{"出勤":"54"}{"出勤":"69"},{"出勤":"35"},{"出勤":"68"},{"出勤":"43 "},{"出席":"52"}]
最后我尝试按如下方式传递编码值以绘制成折线图,但它不起作用。
<script src="//code.jquery.com/jquery-1.9.1.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/Chart.js/2.4.0/Chart.min.js"></script>
<canvas id="myChart" style="width:100%;max-width:600px"></canvas>
<script>
var xValues = <?php echo $encod?>;
var yValues = <?php echo $encod2?>;
new Chart("myChart", {
type: "line",
data: {
labels: xValues,
datasets: [{
fill: false,
lineTension: 0,
backgroundColor: "rgba(0,0,255,1.0)",
borderColor: "rgba(0,0,255,0.1)",
data: yValues
}]
},
options: {
title: {display: true, text: 'Custom Chart Title'},
legend: {display: false},
scales: {
yAxes: [{ticks: {min: 6, max:16}}],
}
}
});
</script>
请帮助我进行此评估。如果有其他比我更好的代码,请善意分享。
【问题讨论】:
-
“但是没用” - 仅仅说“没用”并没有给我们太多的继续。实际发生了什么?请阅读How to create a Minimal, Reproducible Example 和how to ask。您还应该在注册时向您推荐的take the tour。
-
“它不起作用”背后的原因 - 控制台中是否有任何内容 (F12)
-
js中需要引用json数据
-
@executable - 你应该在这里更具体一些,因为老实说我在他们的代码中找不到任何引用问题。
-
另外,我建议仅使用示例数据运行 JS 代码,以确认数据已正确传递给图表对象。
标签: javascript php mysql charts