Alter berechnen aus Datenbank Datum

jc-freak

Mitglied
Ich würde gerne das Datum aus einer Datenbank auslesen und daraus dann das Alter berechnen.

Also z.B.:

Datenbank: Datum = 1.1.2002

Sollte dann rauskommen : Alter = 2 Jahre

Wie mache ich das mit PHP und MySQL ?
Timestamps?
 
Quäl mal die Suche mit alter und / oder geburtstag. Da sollte einiges bei rauskommen.
 
Dafür wäre es recht praktisch wenn du das Datum in der Datenbank als Unix Timestamp hättest. Dafür gibt es einige Php Funktionen. Dann müsstest du nur noch den Timestamp der aktuellen Zeit bzw. Datums auslesen und könntest dann aus den beiden Werten das Alter errechnen. Hab leider kein Script dafür müsste ich mir erst schreiben aber vieleicht hilft dir das schon weiter. Die Methoden dafür findest du bei Self-php.
Greetz Steff
 
Original geschrieben von steff aka sId
Dafür wäre es recht praktisch wenn du das Datum in der Datenbank als Unix Timestamp hättest. Dafür gibt es einige Php Funktionen. Dann müsstest du nur noch den Timestamp der aktuellen Zeit bzw. Datums auslesen und könntest dann aus den beiden Werten das Alter errechnen. Hab leider kein Script dafür müsste ich mir erst schreiben aber vieleicht hilft dir das schon weiter. Die Methoden dafür findest du bei Self-php.
Greetz Steff
Ist leider etwas problematisch wenn du Leute in der Datebank hast, die vor dem 1.1.1970 geboren sind.
 
hmmm was habt Ihr nur alle gegen die Datumfunctionen in Mysql ?

Ich glaube ich muss da mal ein Tutorial dazu schreiben :)
 
*dafür bin* :) (ich brauche / verwende sie zwar eigentlich nicht, aber man lernt ja nie aus und iteressieren würden sie mich schon - zum Stöbern in der MySQL-Doku hab ich keine richtige Motivation eigentlich)
 
Ist leider etwas problematisch wenn du Leute in der Datebank hast, die vor dem 1.1.1970 geboren sind.
Mal abgesehen davon, dass solche "Grufties" im Internet eh nix verloren haben (;)): Wo liegt denn da genau das Problem? Man kann doch in eine integer-Spalte auch Negativwerte eintragen oder nicht? Also z. B. für Geburtsdatum 1.1.1969 Timestamp -31536000 ... oder hab ich da irgendwo nen Denkfehler?
 
Also ich benutze zur Altersberechnung seit einiger Zeit folgende Funktion in MySQL ... funktionier tadellos mit einem DATETIME-Feld:

PHP:
$sql = "SELECT ".
      "(YEAR(CURRENT_DATE) - YEAR(Datum)) - ".
      "(RIGHT(CURRENT_DATE,5) < RIGHT(Datum,5)) AS age ".
      "FROM tabelle";

// usw.
 
Zurück