-1

现场时间有类似的条目2013-09-02 07:54:28,我想获得每天的数量。在伪脚本中它会像这样工作:

  1. 删除小时
  2. 如果不存在,则在数组中查找日期写入日期
  3. 向数组中的日期添加数量 +1
  4. 继续下一个结果

一个像上面提到的在数组中有一个数字的条目我通过这个:

$q1 = mysql_query("SELECT time FROM stats WHERE seite = '2'");
while ($row = mysql_fetch_array($q1, MYSQL_ASSOC)) {
    $all[] = $row["time"];
}
print_r($all);
4

3 回答 3

0

如果您在循环中执行其他一些逻辑:

$all = array();
$q1 = mysql_query("SELECT time, DATE(time) AS timeDate FROM stats WHERE seite = '2'");
while ($row = mysql_fetch_array($q1, MYSQL_ASSOC)) {
    if (!isset($all[$row['timeDate']])) {
        $all[$row['timeDate']] = 0;
    }
    $all[$row['timeDate']]++;
    // other logic
}
print_r($all);

或者,如果这是整个逻辑,只是为了计算相同的日期:

$all = array();
$q1 = mysql_query("SELECT DATE(time) AS timeDate, COUNT(time) timeCount FROM stats WHERE seite = '2' GROUP BY DATE(time)");
while ($row = mysql_fetch_array($q1, MYSQL_ASSOC)) {
    $all[$row['timeDate']] = $row['timeCount'];
}
print_r($all);
于 2013-09-29T23:36:25.730 回答
0

您可以通过 SQL 查询找到 ammount,而无需通过 php 处理。

SELECT DATE_FORMAT(time, '%Y-%m-%d') AS day, COUNT(*) AS amount FROM stats WHERE seite = '2' GROUP BY day;
于 2013-09-29T23:42:08.670 回答
0

SELECT date(time), count(time) FROM stats WHERE seite = '2' group by date(time)

于 2013-09-29T23:42:11.423 回答