PHP:Codeigniter在两个日期内获得即将到来的生日

时间:2016-02-29 17:35:55

标签: php mysql codeigniter dob

我有一个像这样的员工表

id   name   dob
1    Vik    1990-01-12
2    Arm    1992-02-08
3    Loki   1992-02-19
4    Ram    1986-11-23
5    Suri   1996-03-02

今天是2015-02-05,现在我想要那些在2015-02-01到2015-02-28之间生日的记录。意味着输出

2    Arm    1992-02-08
3    Loki   1992-02-19

我只熟悉Codeigniter,所以我的请求是请根据CI查询写下你的答案。

2 个答案:

答案 0 :(得分:0)

SELECT * FROM `employees` WHERE MONTH(dob) = 2 AND (DAY(dob) >= 1 AND DAY(dob) < 29);

Test

答案 1 :(得分:0)

最好直接从数据库中提取信息,这样就不需要抓取所有记录并进行循环。

@Tpojka示例的另一个替代方法是使用BETWEEN函数(如果使用MySQL:

SELECT * FROM `employees` WHERE dob BETWEEN $start_date AND $end_date;

要在CodeIgniter中使用它,您需要先设置数据库配置,然后才能执行以下操作:

$this->db->query('SELECT * FROM `employees` WHERE dob BETWEEN ? AND ?;', array($start_date, $end_date));