mysql — PHP: Codeigniter получит ближайшие дни рождения в течение двух дат

У меня есть таблица сотрудников, как это

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);

Тестовое задание.

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));
0

По вопросам рекламы [email protected]