我想获取下周的数据。我的约会时间是2/10/2015,今天是星期五。我想获取下周一开始的数据。我引用了this link
我正在使用codeigniter,那么在codeigniter中编写sql查询的过程是什么?

最佳答案

首先,您需要获取下周一的日期

$next_monday = new DateTime('next monday');



然后在本周末结束(如果需要):

$date = $next_monday->format('Y-m-d').' 23:59:59'; //Get monday at 23:59
$end_week  = strtotime("+7 day", $date); //Get  sunday at 23:59


然后在您的Codeigniter模型中,使用Active Records

public function nextWeekData($monday, $sunday){
    $this->db->where("your_date_field >= '". $monday->format('Y-m-d H:i:s')."' AND your_date_field <= '". $sunday->format('Y-m-d H:i:s')."'");
    $this->db->get('your_table');
    return $this->db->result_array(); // If you want an array
    // return $this->db->result(); // If you want StdClass
}


因此,来自控制器的调用应为:

$this->my_model->nextWeekData($next_monday, $end_week);


如果不需要上限,只需删除模型中WHERE语句的$end_week和第二个子句。

我认为应该这样做。代码未经测试。重要提示:在哪里注意引号。

10-06 00:26