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)