在ChartJS行上绘制SQL日期

时间:2020-09-28 19:17:44

标签: php chart.js

我有一个数据库,该数据库的表包含带有相应日期的信息。一些日期重复,而其他日期仅重复一次。我想使用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月”的情况下,区分从一个月初到结束的增长)?

0 个答案:

没有答案