Alterberechnung mit Geburtsdatum

Begonnen von Juliet, 28 August 2004, 12:17:14

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Juliet

Hallo,

im vkpMx wird das Alter eines Users mit $user_age ausgegeben. WEnn ich das richtig gesehen habe ich das mit dem Befehl $uinfo['user_age'] möglich.

Nun habe ich aber zwei Geburtsdaten die verarbeitet werden sollen. Wie kann ich nun das zweite auch in Jahre umrechnen lassen.
Die Definitin von $user_age ist nicht auffindbar, so dass ich annehmen muß, dass diese in einer geschützten Datei untergebracht ist ... ist das richtig?

Kann mir jemand eventuell eine  alternative Funktion nennen mit der ich das Datum aus der DB auslesen und in Jahre umwandeln kann?

Homicide

hmm du hast einen User der 2x geboren wurde? :) :) :)


Juliet

Nein - es handelt sich bei dem zweiten Datum um Geburtstag Tochter/Sohn o.ä.  :D  

Ich werd an meiner Ausdrucksweise arbeiten ;)

Andi

Hi Juliet :)

hier ist eine mysql-Abfrage mit Altersberechnung:

 select *, (YEAR(CURRENT_DATE) - YEAR(user_bday)) - ( RIGHT(CURRENT_DATE,5) < RIGHT(user_bday,5)) AS user_age from ${user_prefix}_users where uid='XXXX' and user_stat=1"
Das Tabellenfeld muss vom Datentyp "date" sein.
schön´s Grüssle, Andi

Juliet

Danke Tora,

aber ich bekomm eine schön Fehlermeldung :(

 
ZitatError sql_query():
qry: SELECT * (YEAR(CURRENT_DATE) - YEAR(user_bday2)) - ( RIGHT(CURRENT_DATE, 5) < RIGHT(user_bday2, 5)) AS user_age2 from mx_users where uid='TestUser' and user_stat=1)
descr: You have an error in your SQL syntax near '(YEAR(CURRENT_DATE) - YEAR(user_bday2)) - ( RIGHT(CURRENT_DATE,5) < RIGHT(user_b' at line 1 ( mysql 1064 )

Vielleicht wäre es noch wichtig zu erwähnen, dass das Datum im selben Stil/Format wie das Geburtsdatum in user_bday in die DB geschrieben ist.

Andi

Joho :)

hinter dem * fehlt ein Komma.

das Feld uid ist kein String sondern ein Zahlenfeld, also nicht 'TestUser' sondern die uid des Users TestUser, oder eben uname='TestUser'
 
Zitatdass das Datum im selben Stil/Format wie das Geburtsdatum in user_bday in die DB geschrieben
das meinte ich damit:  Das Tabellenfeld muss vom Datentyp "date" sein.  ;)
schön´s Grüssle, Andi

Juliet

also - wenn ich das so genommen hab wie du es geschrieben hast wurde mir als ergebnis die UID ausgegeben.
Daher hab ich das *, komplettt weggelassen, dann gehts wunderbar :)

Herzlichen Dank.

Andi

 :D  

naja, war auch nur ein Beispiel...

Das Sternchen ist ein Platzhalter für "alle Felder"
schön´s Grüssle, Andi