获取从数据库过期的行

时间:2014-04-27 04:05:16

标签: php mysql sql codeigniter

我正在使用codeigniter,我正在尝试从数据库表中获取所有已过期的行,并且只是那些已过期的行。

该表格包含一个标题为due_date且格式为datetime

的列

Past Due代表今天日期之前due_date的任何内容。因此,例如,如果截止日期是2014年4月25日,而今天的日期是2014年4月26日,那么它将被视为逾期。

我的代码如下:

$query = $this->db->get_where('practice', array('due_date' => date('Y-m-d')));

return $query->result();

但这不会归还今天到期的一切吗?不是我想要的。

对于due_date列

,行看起来像这样
2014-04-23 00:00:00

3 个答案:

答案 0 :(得分:1)

试试这个:

 $query=$this->db
             ->where('DATE_FORMAT(due_date, "%Y-%m-%d") <',"date('Y-m-d')")
             ->get('practice');

资料来源:[How to select date from datetime column?

答案 1 :(得分:0)

快速Google搜索为我提供了一个可行的解决方案:

$query = $this->db->where('practice', array('due_date <' => date('Y-m-d')))->get();

来源:http://ellislab.com/codeigniter/user-guide/database/active_record.html

答案 2 :(得分:0)

$query = $this->db->get_where('practice', array('DATE_FORMAT(due_date, "%Y-%m-%d") <' => date('Y-m-d')));