我有一个数据库,该数据库的表包含带有相应日期的信息。一些日期重复,而其他日期仅重复一次。我想使用ChartJS将它们绘制在折线图上。
我有以下PHP代码,该代码从表格中提取日期并进行排序。
function behaviourByDate($id){
include_once 'includes/db_connection.php';
$dbconn = OpenCon();
$dbconn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$sqlstmnt2 = 'SELECT `date` FROM `incidents` WHERE `studentID` = :studentID GROUP BY `date`';
$stmtUsr2 = $dbconn -> prepare($sqlstmnt2);
$intid = intval($id);
$stmtUsr2 -> bindValue(':studentID', $intid);
$stmtUsr2 -> execute();
$rows = $stmtUsr2->fetchAll();
//list found pupils
if(is_null($rows))
{
//list found pupils
return 0;
}
var_dump($rows);
//return $rows;
}
我在下面创建了一个基本图表
new Chart(document.getElementById("line-chart"), {
type: 'line',
data: {
labels: ["September", "October", "November", "December", "January", "February", "March", "April", "May", "June", "July"],
datasets: [{
data: [0, 3, 5, 6, 3, 2, 4, 5, 6, 9, 4],
label: "incidents",
borderColor: "#3e95cd",
fill: false
}
]
},
options: {
title: {
display: true,
text: 'Behaviour incidents over time'
}
}
});
很显然,我使用的数据只是静态的。我的问题是,如何将日期映射到图表上?最直观的方法是什么?如何显示进度(例如,在不将9月的全部固定为“ 9月”的情况下,区分从一个月初到结束的增长)?