获取Highcharts和PHP中给定日期的总记录数

时间:2011-12-17 08:12:33

标签: php highcharts

我试图让我的highcharts图表工作,我几乎就在那里..我只有一个小问题:我需要的值是同一天的记录总数但是我现在对我的代码感到困惑,图表完全搞砸了......

以下是提取数据的代码:

<?php
header("Content-type: text/json");

include('../includes/config.php');

$tablename = "analytics";

$result = mysql_query("SELECT COUNT(*) AS count FROM $tablename");
$row = mysql_fetch_array($result,MYSQL_ASSOC);

$sql = "SELECT id, date FROM $tablename ORDER BY date";
$result = mysql_query( $sql ) or die("Couldn't execute query.".mysql_error());

$i=0;
while($row = mysql_fetch_array($result,MYSQL_ASSOC)) {

    $row['id'] = (int) $row['id'];

    $rows[$i] = array(strtotime($row['date'])*1000, $row['id']);

    $i++;
}

echo json_encode($rows);

?>

如果这对我的数据库值有帮助:

insert  into `analytics`(`id`,`user`,`item`,`ip`,`country`,`date`) values
(10,1,1,'127.0.0.1','','2011-12-17 06:41:51'),
(11,1,1,'127.0.0.1','','2011-12-17 06:42:23'),
(12,1,1,'127.0.0.1','','2011-12-17 06:43:07'),
(13,1,1,'127.0.0.1','','2011-12-17 06:44:19'),
(14,1,1,'127.0.0.1','','2011-12-17 06:44:21'),
(15,1,1,'127.0.0.1','','2011-12-17 06:44:22'),
(16,1,1,'127.0.0.1','','2011-12-17 06:44:49'),
(17,1,1,'127.0.0.1','','2011-12-17 06:46:59'),
(18,1,1,'127.0.0.1','','2011-12-17 06:47:20'),
(19,1,1,'127.0.0.1','','2011-12-17 06:47:35'),
(20,1,1,'127.0.0.1','','2011-12-17 06:47:42'),
(21,1,1,'127.0.0.1','','2011-12-17 06:48:07'),
(22,1,1,'127.0.0.1','','2011-12-17 06:48:14'),
(23,1,1,'127.0.0.1','','2011-12-17 06:48:29'),
(24,1,1,'127.0.0.1','','2011-12-18 06:49:10'),
(25,1,1,'127.0.0.1','','2011-12-19 07:05:45'),
(26,1,1,'127.0.0.1','','2011-12-20 08:11:32'),
(27,1,1,'127.0.0.1','','2011-12-21 08:26:45'),
(28,1,1,'127.0.0.1','','2011-12-17 08:44:34');

以下是最终结果: result

我在这里完全失去了自我,有人可以帮忙吗?

编辑:做了@ajreal所说的,这是输出: result2

1 个答案:

答案 0 :(得分:0)

这是获取每个日期的计数的查询

SELECT date, COUNT(*) AS count 
FROM $tablename
GROUP BY date;

您可以使用此查询替换您的第一个查询 对于一个循环(就像你的第二个查询一样),设置$total += $row["count"]以获得像原始第一个查询一样的总计