...: PHP: Suche nach Alter über Geburtsdatum realisieren

Beitrag lesen

Ich wollte für meine Website eine Suche Programmieren und den Usern die Möglichkeit geben auch User nach Alter zu Suchen. In meiner DB ist nicht das Alter sondern das Geburtsdatum im Format TT.MM.JJJJ Gespeichert. Denn wenn ich das Alter in der DB hätte müsste jedes Mitglied sein Alter jedes Jahr Updaten. Wäre ja schwachsinn.

Also, gibt es ein möglichkeit solch eine Suche zu Realisieren?

Klar, sogar ziemlich einfach, vorausgesetzt, die Besucher sind nach 1970 geboren, was passiert wenn sie vorher geboren sind weiss ich nicht, könnte sein, dass es trotzdem geht :).

du machst zuerst aus dem Geburtsdatum einen timestamp, per mktime();

dann tust du einfach den aktuellen timestamp (per time();) nehmen und den geburtstagstimestamp davon abziehen.
dann haste das alter in sekunden.
daraus kannst du dann das alter errechnen.
das ganze könnte so aussehen:

$alter = floor(round(time()-mktime("","","","monat","tag","jahr"))/round(365*3+366)/4/24/60/60);

ist ungeprüft und wäre sicher einfacher gegangen, aber ich bin jetzt zu müde um noch zu denken ;)

ausserdem ist es nicht ganz genau, da es damit rechnet, dass jedes jahr 365,25 tage hat, was so ja auch nicht _ganz_stimmt ;)

eine andere möglichkeit wäre:

du zählst vom geburtsjahr an die jahre bis zum aktuellen jahr und prüfst dann ob der geburtstag dieses jahr schon war.

aber dazu schreib ich dir jetzt keinen code - bin wie gesagt zu müde :P