PHP: вычисление дня рождения от возраста

Да, это может звучать странно.

В расширенной форме поиска профиля, где вы можете фильтровать по возрасту.

Теперь вы должны ввести 18 или другой возраст в этой области.

Я храню дни рождения, в базе данных mysql, в поле дня рождения у пользователей, у меня есть пример: 1990-02-02

Как я могу фильтровать по возрасту в запросе?

Должен ли я сначала сделать запрос раньше, сделать дни рождения всех пользователей по возрасту, а затем сравнить их? Было бы слишком много, чтобы принять каждого пользователя.

2 ответа

Могу поспорить, это то, что вы ищете:

SELECT * FROM mytable 
WHERE TIMESTAMPDIFF(YEAR, mytable.birthday,'$currentTime') > '$ageFromForm';

Чтобы отсортировать данные, вы должны выполнить это:

SELECT *, (TIMESTAMPDIFF(YEAR, mytable.birthday, '$currentTime')) AS age 
FROM mytable WHERE TIMESTAMPDIFF(YEAR,'$birthday','$currentTime') > '$ageFromForm' 
ORDER BY age;

Надеюсь это поможет;) Славянский

Непроверенный, но должен работать как основание, чтобы начать с:

SELECT <columns> FROM users WHERE birthday < SUBDATE(NOW(), INTERVAL 18 YEAR)
Другие вопросы по тегам