Ich habe Benutzer in einer MySQL-Datenbank, wo ihre Geburtstage in einem Format DATE
(JJJJ-MM-TT) gespeichert sind. Ich möchte Benutzer in der Datenbank mit PHP auswählen, die zwischen einer bestimmten Altersgruppe liegen.Wählen Sie alle Benutzer innerhalb einer bestimmten Altersgruppe
Was ich habe, ist ein Mindestalter (18) und ein Höchstalter (21). Ich weiß, dass ich etwas mit BETWEEN machen kann, aber das Problem ist, dass ich nur die Jahre kenne und nicht die Daten.
Hat jemand einen Vorschlag, wie ich das machen kann?
Dies ist, was ich derzeit tue:
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;
}
Dann sehe ich das:
$maxDatum = leeftijden(18);
$minDatum = leeftijden(32);
$sqlRijder = "SELECT * FROM rijder WHERE geboortedatum between '".$minDatum."' AND '".$maxDatum."'";
Aber das ist nicht 100% funktioniert.
Wie kann ich nur Benutzer auswählen, die zwischen 18 und 21 Jahre alt sind?
haben Sie Ihre Reisedaten gedruckt, um sicherzustellen, die richtig sind? auch können Sie einfach 'date ('Ym-d', strtotime (" - 18 Jahre "));' oder 'date ('Ym-d', strtotime (" - $ Jahre Jahre "));' –
Of Natürlich wird es nicht 100% funktionieren - weil das "Alter" eine Zahl ist, kommt es nicht im Format des Datums. Wenn man also das aktuelle "Datum" nimmt und das Alter subtrahiert, ergibt dies ein ungenaues Ergebnis. – alfasin
alfasin ... das mache ich in der Funktion leeftijden() –