skript für alter umdrehen .... ?!?

starter/or_not

Grünschnabel
Hallo,
ich weiß, dass das nun eine super doof Frage ist, aber irgendwie bin ich nun wohl einfach zu blöd :(
Ich habe eine Funktion gefunden mit der ich z.B aus 1981-08-11 das Alter ermitteln kann.

function get_age($date_of_birth) {
list ($year, $month, $day) = explode('-', $date_of_birth);
$age = date('Y') - $year;
if (date('m') <= $month) {
if (date('d') < $day) $age--;
}
return $age;
}

Wie kann ich denn nun dieses Skript "umdrehen", dass ich ein Alter eingeben kann und die Variablenwerte
$year, $month, $day herausbekomme?

Danke schon einmal :)))
 
ähh sorry ... war etwas falsch formuliert. ;) man kann ja nicht aus einem alter auch den tag ermitteln :)
also was ich machen möchte ist einfach, dass ich eine eingabmaske habe in der man ein alter "von - bis" eingeben kann.
und nun sollte das von-alter und das bis-alter mit der db verglichen werden. bisher hatte ich es nur auf das jahr heruntergerechnet mit:

$jetzty = date("Y",time());
$jahrvon = $jetzty - $altervon;
$jahrbis = $jetzty - $alterbis;

Und somit konnte ich nach $jahrvon bis $jahrbis. Leider ist dies ja nicht ganz richtig da es ja nicht überprüft ob der Monat übereinstimmt und somit ausegangen wird, dass alle am 1 Januar Geburtstag haben und das ganze Jahr gleich alt sind.

Wie kann ich denn nun das mit dem Montat überprüfen?
Mit $montat_jetzt < $monat ?
 
???

Kann sein, dass ich einfach zu doof bin, oder es einfach schon zu spät für meinen erlöschenden Geist ist, aber ich verstehe die Frage einfach nicht.

Was genau willst Du denn jetzt ausrechnen?

Wenn du weisst, das deine Daten nie vor 1970 liegen, könntest du einen timestamp verwenden (php funktion "mktime"). Das ist ein einfacher Integer Wert, den du dann mit < oder > vergleichen kannst.

Den Monat aus einem Datum bekommst du, indem du einfach das Jahr und den Tag vom String abziehst (zumindest, wenn Du's nicht zu genau nimmst.) Wenn Du allerdings schon ein Datum (in lesbarem Text) hast, wüsste ich nicht, wozu du noch das Datum ausziehen willst.

Sorry, ich bin wohl ziemlich verwirrt.

Vielleicht hilft's, wenn du deine Frage etwas konkreter machst.

Thanx 'n greetz,
ya Storm
 
@SilentStorm

Bin froh das du verwirrt bist das beruhigt mich das es dir genauso geht :eek:

Wenn ich richtig verstanden habe willst du das wenn jemand sein Geburtsdatum anngibt du das Alter erhaelst richtig ?

$Jahr - $geburtsjahr = $alter;


Bitte konkretiesier (am besten mit einem Satz) was du denn haben willst!
 
ähh. ja. also :) :) :)

Ich habe in einer Datenbank eine Spalte 'Tag', 'Monat', 'Jahr'.

Über ein Suchformular möchte ich nun eine Altersgruppe suchen. Die Suchmaske besteht aus einem von-Alter und einem bis-Alter Textfeld.
Also z.B. gibt man 20-30 ein.

Bisher hatte ich es dann so gemacht, dass ich mit
$jetzty = date("Y",time());
das aktuelle Jahr bekomme.

$jahrvon = $jetzty - $altervon;
$jahrbis = $jetzty - $alterbis;

und dann hatte ich z.B. bei 20 - 30

$jahrvon = 1981
$jahrbis = 1971

Nun konnte ich nach

..... WHERE (jahr => '$jahrvon' && jahr <= '$jahrbis') ....

suchen.

Das funktioniert ja auch alles. Nur ist mein Problem ja nun, dass jemand ja 1981 geboren sein kann aber am 20. Dezember Geburtstag hat.
Somit ist er ja noch gar keine 20 und ich muss auch noch den aktuellen Montag und den aktuellen Tag vergleichen.

Also vielleicht so:

$jetztm = date("m",time());
$jetztt = date("d",time());

... WHERE jahr => '$jahrvon' && jahr <= '$jahrbis' && monat <= '$jetztm' && tag <= '$jetztt' ...

Mhmm.....*überleg* .... ist das nicht nun nicht vielleicht schon die Lösung ?;)?
 

Neue Beiträge

Zurück