PHP:Codeigniter 在两个日期内获得即将到来的生日
Posted
技术标签:
【中文标题】PHP:Codeigniter 在两个日期内获得即将到来的生日【英文标题】:PHP: Codeigniter get upcoming birthdays within two dates 【发布时间】:2016-06-12 20:42:57 【问题描述】:我有一张这样的员工表
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查询写下你的答案。
【问题讨论】:
到目前为止你的代码是什么? 【参考方案1】:SELECT * FROM `employees` WHERE MONTH(dob) = 2 AND (DAY(dob) >= 1 AND DAY(dob) < 29);
Test.
【讨论】:
我在 sql 中尝试过,它正在工作,但我将如何在 CI 中使用它 它工作一个月。如果我们想要两个月的日期,将如何执行此代码? @mathew 你可以试试$this->db->query("SELECT * FROM employees WHERE MONTH(dob) = $monthVarFirst OR MONTH(dob) = $monthVarSecond;")
。【参考方案2】:
直接从数据库中提取信息可能会更好,这样您就不需要抓取所有记录并执行循环。
@Tpojka 示例的另一个替代方法是在使用 mysql 时使用 BETWEEN 函数:
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));
【讨论】:
以上是关于PHP:Codeigniter 在两个日期内获得即将到来的生日的主要内容,如果未能解决你的问题,请参考以下文章