php,MySql json输出当前月份的天数

时间:2015-04-19 00:46:51

标签: php mysql json

我需要查询数据以显示当月每天的注册用户数,以便将json数组传递给jQuery Flot。

这是我到目前为止所做的:

      for ($i = 1; $i <= date('t'); $i++) {
          $date = date('Y') . '-' . date('m') . '-' . $i;
          $sql = $db->first("SELECT COUNT(*) AS total FROM users WHERE (DATE(created) = '" . $date . "' LIMIT 1) GROUP BY DAY(created)");

          ($sql) ? $jdata['regs']['data'][] = array($i, (int)$sql->total) : $jdata['regs']['data'][] = array($i, 0);
          $jdata['xaxis'][] = array($i, date('j', strtotime($date)));
      }

      print json_encode($jdata);

以上工作正常,但由于for循环它会产生30个查询。我希望能够通过消除for循环并在$ sql数组上使用它来优化它。

1 个答案:

答案 0 :(得分:1)

您可以尝试这种方式,使用BETWEEN子句获取当月每天的注册用户数。让我知道它对你有用。

SELECT DATE(created),COUNT(id) as total
FROM users
WHERE DATE(created) BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 1 MONTH)  
GROUP BY DATE(created)