如何使用codeigniter PHP在过去30天内获得日期范围内的所有订单?
这是我的表,我需要从MySQL数据库中获取所有数据,该数据库将显示每天30天的订单总数。还有一个日期范围 示例1:当前日期为2016年8月8日。我需要显示2016年8月8日起的最后30天如何使用codeigniter PHP在过去30天内获得日期范围内的所有订单?,php,mysql,arrays,database,codeigniter,Php,Mysql,Arrays,Database,Codeigniter,这是我的表,我需要从MySQL数据库中获取所有数据,该数据库将显示每天30天的订单总数。还有一个日期范围 示例1:当前日期为2016年8月8日。我需要显示2016年8月8日起的最后30天 Order table id | customer_id | num_of_order |date ---+-------------+--------------+-------- 1 | 10001 | 1 | 2016-08-08 07:23:50 2
Order table
id | customer_id | num_of_order |date
---+-------------+--------------+--------
1 | 10001 | 1 | 2016-08-08 07:23:50
2 | 10002 | 4 | 2016-08-07 11:33:50
3 | 10003 | 2 | 2016-08-06 15:44:50 //same day
4 | 10001 | 5 | 2016-08-06 20:50:50 //same day
5 | 10004 | 3 | 2016-08-04 11:17:50
现在,对于预期输出,它将显示:
array (
[0] => array (
[date] => 2016-08-08
[total_orders] => 1
)
[1] => array (
[date] => 2016-08-07
[total_orders] => 4
)
[2] => array (
[date] => 2016-08-06
[total_orders] => 7
)
[3] => array (
[date] => 2016-08-05
[total_orders] => 0 //no orders but still need to include in the output
)
[4] => array (
[date] => 2016-08-04
[total_orders] => 3
)
//and so forth (July 09, 2016).....
)
有PHP codeigniter代码吗?$this->db->选择(“日期”格式(日期,%Y-%m-%d)作为覆盖日期,计数(日期(日期))作为总订单);
$this->db->select("DATE_FORMAT(date,'%Y-%m-%d') as covered_date,count(date(date)) AS total_order");
$this->db->from('order');
$this->db->where('date > DATE_SUB( "2016-08-08" , INTERVAL 30 DAY )');
$this->db->group_by("date(date)");
$query = $this->db->get();
$result = $query->result_array();
$start_date = date('Y-m-d', strtotime('-30 day', strtotime($end_date)));
$return = array();
while (strtotime($start_date) <= strtotime($end_date)) {
$return[] = $start_date;
$start_date = date("Y-m-d", strtotime("+1 day", strtotime($start_date)));
}
print_r($return);
$this->db->from('order');
$this->db->where('date>date_SUB(“2016-08-08”,间隔30天));
$this->db->group_by(“date(日期)”);
$query=$this->db->get();
$result=$query->result_array();
$start_date=日期('Y-m-d',标准时间('-30天',标准时间('end_date));
$return=array();
虽然(strotime($start\u date)请将您的问题显示为您遇到问题的代码的一部分,然后我们可以尝试帮助您解决具体问题。您还应该阅读。