我将创建一个通知系统,在截止日期前1个月通知。显示与当前日期重合的日期时出现问题。我想表明,似乎只有从截止日期1个月前截止日期今天。
my tabel=如果:
+------+------------+------------+
| id | name | deadline |
+------+------------+------------+
| 01 | Daniel | 2018-02-13 |
| 02 | Elwin | 2018-02-12 |
| 03 | Dika | 2018-02-13 |
+------+------------+------------+
例如:date today=2018-01-13
我想要的报表:
+------+------------+------------+------------+
| id | name | deadline | alert_now |
+------+------------+------------+------------+
| 01 | Daniel | 2018-02-13 | 2018-01-13 |
| 03 | Dika | 2018-02-13 | 2018-01-13 |
+------+------------+------------+------------+
我在codeigniter模型中的查询:
public function notification(){
$query=$this->db->query('SELECT *, DATE_SUB(deadline, INTERVAL 1 MONTH) as alert_now FROM notif WHERE now() = DATE_SUB(deadline, INTERVAL 1 MONTH)');
return $result=$query;
}
注:对不起,我的英语很差。谢谢您。
1条答案
按热度按时间6qftjkof1#
假设deadline是date类型而不是now()(date time),那么应该使用curdate()(date)
如果截止日期是datetime,那么你应该得到日期部分,例如: