我想获取下周的数据。我的约会时间是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
和第二个子句。我认为应该这样做。代码未经测试。重要提示:在哪里注意引号。