2010-10-02 114 views
1

是的,這聽起來很奇怪。PHP:從年齡開始計算生日

在高級配置文件搜索表單中,您可以按年齡進行過濾。

現在你可以在現場輸入18或其他年齡。

我儲存的生日,在MySQL數據庫,在生日字段的用戶,我有例如:1990年2月2日

我怎麼能按年齡篩選,然後,在查詢?

我應該先做一個查詢,讓所有的用戶生日到年齡,然後比較它們嗎?將太多,採取每一個用戶。

回答

1

未經檢驗的,而應作爲基礎工作開始從:

SELECT <columns> FROM users WHERE birthday < SUBDATE(NOW(), INTERVAL 18 YEAR) 
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; 

我希望這有助於;) 斯拉夫