gpt4 book ai didi

php - 为 Jquery Flot 生成记录

转载 作者:行者123 更新时间:2023-11-29 14:15:58 24 4
gpt4 key购买 nike

VISITORS TBL
ID product_id hits date
130 1 1 2012-08-11
94 810 53 2012-08-06
95 810 32 2012-08-07
96 810 22 2012-08-09
97 810 13 2012-08-10
98 810 16 2012-08-11
99 810 13 2012-08-22

我有访客 MySQL 表,如上所示。计划使用 Jquery Flot 绘制过去 30 天访问者的折线图。

应生成 30 条记录:[1, 0], [2, 0], [3, 0], [4, 0], [5, 0], [6, 53], [7, 32], [8, 0], [9 , 22]......[30, 0]如何使用 mysql 和 php 为 Product_id = 810 生成 30 天的列表?我可以在单个 SQL 查询中执行此操作吗?或者使用 php 循环?

最佳答案

我不知道是否有一种仅 MySQL 的方法可以做到这一点,但这肯定会起作用(尽管它很草率并且使用了已弃用的 MySQL/PHP 函数)

<?
$rs = mysql_query("SELECT hits,date FROM visitors WHERE product_id=81 AND date BETWEEN 2012-08-01 AND 2012-08-31 ORDER BY date ASC");
$flot = array();
$last_date = '2012-08-00';
$day = 1;

if ($rs && mysql_num_rows($rs)) {
while ($row = mysql_fetch_array($rs)) {
$days_since = check_days_since($row['date'], $last_date);
print $row['date'] . '|' . $last_date . '|' . $days_since . "\n";

if ($days_since) {
for ($i = 1; $i < $days_since; $i++) {
$flot[] = array($day++, 0);
}
}

$flot[] = array($day++, $row['hits']);
$last_date = $row['date'];
}
}

print json_encode($flot);


function check_days_since($new, $old) {
if (!$new || !$old) return 1;
return (strtotime($new) - strtotime($old)) / (60*60*24);
}
?>

关于php - 为 Jquery Flot 生成记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12658515/

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