我需要创建一个关联数组:日期和该日期的事件数。
想象一下数据库中的这个表(XPTO):
timestamp id parameter sensor_id
2013-09-10 12:43:54 1 34 3
2013-07-23 10:32:31 2 54 65
2013-07-23 10:32:31 3 23 45
2013-07-23 10:32:31 4 12 1
2013-09-10 12:43:54 5 1 43
现在,我想要的结果如下: [09.10.2013 12:43:54,2],[2013年7月23日10:32:31,3]。 有什么想法帮助我吗?
答案 0 :(得分:1)
SQL可以解决问题。
$myarray = array();
$result = mysql_query("SELECT timestamp, count(id) FROM xpto GROUP BY timestamp");
while ($row = mysql_fetch_array($result))
$myarray[$row[0]]=$row[1];
如果您想要完整信息而不是计算:
$myarray = array();
$result = mysql_query("SELECT * FROM xpto ORDER BY timestamp");
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$timestamp=$row['timestamp'];
unset($row['timestamp']);
$myarray[$timestamp][]=$row;
}
现在你有了这个数组:
[2013-07-23 10:32:31] => array (
array (
'id'=>2,
'parameter'=>54,
'sensor_id'=>65,
),
array (
'id'=>3,
'parameter'=>23,
'sensor_id'=>45,
),
...
请根据您的数据库连接类型(PDO等)修改以下代码