我正在嘗試建立一個搜索功能,它可以根據年齡範圍獲得結果。數據庫包含用戶的生日(例如1980-09-11 00:00:00)。現在我正在嘗試搜索用戶,例如通過使用$ agefrom = 15;和$ ageto = 18; ..但我現在不知道如何PHP代碼和db語句應該看起來像..在php中搜索年齡
我想在PHP中做最多的東西,然後只做一個SQL查詢像(出生< birth_to AND birth> birth_from)..
謝謝你的幫忙!
我正在嘗試建立一個搜索功能,它可以根據年齡範圍獲得結果。數據庫包含用戶的生日(例如1980-09-11 00:00:00)。現在我正在嘗試搜索用戶,例如通過使用$ agefrom = 15;和$ ageto = 18; ..但我現在不知道如何PHP代碼和db語句應該看起來像..在php中搜索年齡
我想在PHP中做最多的東西,然後只做一個SQL查詢像(出生< birth_to AND birth> birth_from)..
謝謝你的幫忙!
最簡單的查詢,這將不完全精確的工作將是
SELECT ...
FROM ...
WHERE YEAR(birthday) BETWEEN (YEAR(now()) - 18, YEAR(now()) - 15)
,如果一個人的生日還沒有在某一年發生這將失敗(例如,它是5月1日,他們的B-一天是6月15日)。處理這種情況將需要更多的日期數學來檢查「年份是正確的,但日/月是錯誤的」。
我認爲最容易構建15和18年前需要的日期(在PHP中),然後用BETWEEN語句將這些日期放在查詢中。午夜回合或者你會遇到不好的情況。
但問題在那裏,我得不到確切的結果,如果一個人還沒有在今年的生日..如何解決這個問題? – simons
@simons添加一年到'$ ageto'。 – JJJ