如何使用CanvasJS处理来自数据库的日期时间数据

时间:2018-12-13 22:47:16

标签: javascript php mysql canvasjs

我需要用相同的数据集(从数据库中)做4个面积图。在表格中,日期数据的格式如下:“ 2018-08-15 20:40:00”,而Y数据是另一列中的数字值。我想出了如何使用数据创建数组,并将其通过json传递给脚本的方法,但是我找不到通过图表获取数据的方法。

$sql = 'SELECT timestamp, valor
        FROM historial
        WHERE YEAR(timestamp) = YEAR(CURDATE())';
        // echo $sql."<br><br>";
$resYear = mysqli_query($conn, $sql) or die(mysqli_error($conn));

$arrYear = array();

while($datos = mysqli_fetch_array($resYear, MYSQLI_NUM)){
    $arrYear[] =  array("x" => new strtotime($datos[0]), "y" => $datos[1]);
}

<script>
            $(function () {
                    var chart = new CanvasJS.Chart("year-chart", {
                    theme: "light2", // "light1", "light2", "dark1", "dark2"
                    animationEnabled: true,
                    zoomEnabled: true,
                    title: {
                        text: "Registros del año"
                    },
                    data: [{
                        type: "area",
            xValueType: "dateTime",
                        dataPoints: <?php echo json_encode($arrYear, JSON_NUMERIC_CHECK) ?>
                    }]
                });
                chart.render();
            });

        </script>

解决了这一问题后,我不得不将这些数据放在一张图表中,该图表可以逐年显示时间。以月为单位,以周为单位,以第三天为基础,以天为单位(例如小时和分钟之间)。我也不知道该怎么做。

0 个答案:

没有答案