Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用codeigniter PHP在过去30天内获得日期范围内的所有订单?_Php_Mysql_Arrays_Database_Codeigniter - Fatal编程技术网

如何使用codeigniter PHP在过去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

这是我的表,我需要从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  |    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)请将您的问题显示为您遇到问题的代码的一部分,然后我们可以尝试帮助您解决具体问题。您还应该阅读。