gpt4 book ai didi

javascript - 将 PHP MySQL 日期转换为 FLOT 时间序列数据的 Javascript 时间戳

转载 作者:行者123 更新时间:2023-11-29 21:38:16 26 4
gpt4 key购买 nike

我目前正在致力于创建 Flot JavaScript 时间序列折线图。该图表分析了创建帐户的用户数量与帐户创建时间的关系。

这是用户表的屏幕截图 database

到目前为止,我已经能够检索用于图形的用户表 x asis 中的created_date 列。然后在单独的查询中使用 COUNT() 函数计算 y 轴。我的代码如下。

PHP:

<?php

include "connection/connect2.php";
$datecreated = "SELECT created_date FROM users";
$rundatecreated = mysql_query($datecreated);
$foundnum = mysql_num_rows($rundatecreated);
while ($runrows = mysql_fetch_assoc($rundatecreated)) {
$dataset1[] = $runrows['created_date'];
}

if (is_array($dataset1)){
foreach($dataset1 as $x) {

$query = mysql_query("SELECT created_date, count(created_date) as date FROM users WHERE created_date='$x' ");
while ($runquery = mysql_fetch_assoc($query)){
$y[]= $runquery['created_date'] .",".$runquery['date']."<br>" ;
}
}

$graph=implode(" ", $y);
echo $graph;

} else {

echo "error";
}

?>

然后,我将使用这两个查询检索到的数据存储到一个数组中,如下所示。

results

我不确定如何将当前使用 PHP 代码检索到的日期数据转换为 JavaScript 时间戳格式。有什么办法可以使用 PHP 代码来做到这一点吗?

最佳答案

1) 您只需要一个 SQL 查询即可实现此目的,而不是每个日期一加 1。为此,请在查询中使用分组。

2) 要从 dat 值获取时间戳,请使用 getTimestamp() 方法并乘以 100 以从 UNIX 时间戳转换为 JavaScript 时间戳。

3) Flot 需要一个数据系列的数据作为数组的数组(数据点)。然后可以将其编码为 JSON 并在 JavaScript 中打印或通过 AJAX 获取。

更新的代码(未经测试,但应该是一个很好的起点):

<?php

include "connection/connect2.php";
$query = mysql_query("SELECT created_date, count(*) as date FROM users GROUP BY created_date ");
$foundnum = mysql_num_rows(mysql_query($query));
while ($runquery = mysql_fetch_assoc($query)){
$graph[] = array((new DateTime($runquery['created_date']))->getTimestamp() * 1000 , $runquery['date']);
}

if ($foundnum > 0) {
echo json_encode($graph);
} else {
echo "error";
}

?>

关于javascript - 将 PHP MySQL 日期转换为 FLOT 时间序列数据的 Javascript 时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34741110/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com