Tôi có người dùng trong cơ sở dữ liệu MySQL, nơi sinh nhật của họ được lưu trữ ở định dạng DATE
(yyyy-mm-dd). Tôi muốn chọn người dùng trong cơ sở dữ liệu với PHP nằm giữa một độ tuổi nhất định.Chọn tất cả người dùng trong một độ tuổi nhất định
Tôi có độ tuổi tối thiểu (18) và tuổi tối đa (21). Tôi biết tôi có thể làm điều gì đó với GIỮA, nhưng vấn đề là tôi chỉ biết năm và không phải là ngày tháng.
Có ai có đề xuất về cách tôi có thể thực hiện việc này không?
Đây là những gì tôi đang làm hiện nay:
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;
}
Sau đó, tôi làm điều này:
$maxDatum = leeftijden(18);
$minDatum = leeftijden(32);
$sqlRijder = "SELECT * FROM rijder WHERE geboortedatum between '".$minDatum."' AND '".$maxDatum."'";
Nhưng điều này không làm việc 100%.
Làm cách nào để chỉ chọn người dùng từ 18 đến 21 tuổi?
đã bạn in ngày của bạn để đảm bảo là chính xác? cũng bạn chỉ có thể làm 'ngày ('Ym-d', strtotime (" - 18 năm "));' hoặc 'ngày ('Ym-d', strtotime (" - $ năm năm "));' –
Trong tất nhiên nó sẽ không hoạt động 100% - vì "tuổi" là một số, nó không có định dạng ngày tháng. Vì vậy, lấy 'ngày' hiện tại và trừ đi độ tuổi sẽ cho kết quả không chính xác. – alfasin
alfasin ... đó là những gì tôi làm trong hàm leeftijden() –