我有MySQL數據庫中的用戶,他們的生日以DATE
格式(yyyy-mm-dd)存儲。我想選擇使用PHP的數據庫中的用戶,他們位於特定的年齡段之間。選擇一定年齡範圍內的所有用戶
我有什麼是最小年齡(18)和最大年齡(21)。我知道我可以用BETWEEN做點什麼,但問題是我只知道年代而不是日期。
有沒有人有關於如何做到這一點的建議?
這是我在做什麼目前:
function leeftijden($age) {
$morgen['day'] = date('d');
$morgen['month'] = date('m');
$morgen['year'] = date('Y') - $age;
$datum = $morgen['year'] .'-' .$morgen['month'].'-' .$morgen['day'];
return $datum;
}
那麼我這樣做:
$maxDatum = leeftijden(18);
$minDatum = leeftijden(32);
$sqlRijder = "SELECT * FROM rijder WHERE geboortedatum between '".$minDatum."' AND '".$maxDatum."'";
但是,這並不工作,100%。
我如何才能選擇年齡介於18至21歲之間的用戶?
你打印您的日期,以確保是正確的? 你也可以做'date('Ym-d',strtotime(「 - 18 years」));''或'date('Ym-d',strtotime(「 - $ years years」));' – 2012-07-11 08:05:46
Of當然它不會工作100% - 因爲「年齡」是一個數字,它不是以日期的格式。因此,採用當前的「日期」並減去年齡將得到不準確的結果。 – alfasin 2012-07-11 08:06:33
alfasin ...這就是我在leeftijden()函數中做的 – 2012-07-11 08:12:17