[TYPO3-german] aus fe_users Geburtstagskinder heraussuchen

bernd wilke x00nsji02 at sneakemail.com
Thu Mar 20 16:54:09 CET 2008


Steffen Ritter schrieb am Thu, 20 Mar 2008 12:21:54 +0100:

> Hallo, das ist kein Problem...
> Naja du benötigst die Geburtszeiten, die hast du ja, dann musst du das
> auf ein Jahr normieren, Sprich minus die Timestamp des 01.01. um
> 00:00:01 des Geburtsjahres... Dann landen alle Daten im Jahr 1970. Und
> dann kannst du testen ob das Datum zwischen dem 01.des Monats um
> 00:00:00 liegt und dem ersten des nächsetn Monats um 00:00:00 -1 (letzte
> Sekunde des Monats)
> Falls dies so ist kannst du den FeUserDatensatz in dein GeburtstagsArray
> abspeichern... und deine Anzeige funtkion nimmt dann halt nich ein array
> eines Datenbankquerys sondern fütterst du mit dem selbstgebauten array.

ob das wirklich funktioniert?
ich hab so meine Zweifel rund um den 29.2.. Den hat ja nicht jedes Jahr 
und bei der Subtraktion des Jahres kann das dann unschön enden.

Ich hab mich schon gefragt wie das mit Geburtsdaten vor dem 1.1.1970 
aussieht? 
typo3 speichert normalerweise kein Datum vor 1970, weil man dafür 
negative Zeitwerte haben müßte und das verarbeiten nicht alle 
Betriebssysteme.
Dafür müßte man das Feld entweder als String-feld oder mit Einzelwerten 
speichern oder die User dürfen nicht älter als 38 Jahre alt sein ;-)


Auf diese Art würde ich ansetzen:
SQL-Funktionen für die Extraktion von Tag und Monat eines Datums nutzen 
und die Abfrage in etwa so aufbauen:

SELECT *,concat(get_monat(datum),'-',get_tag(datum)) as gebtag FROM 
fe_users WHERE gebtag = concat(get_monat(now()),'-',get_tag(now()))

get_monat() und get_tag() stehen für Funktionsschachtelungen, die nur den 
Monat, bzw. den Tag eines Datums (im timestamp-Format) liefern.

noch spannender wird das ganze wenn man die nächsten n Geburtstage 
auflisten möchte, egal in welchem Format. (Jahreswechsel beachten!)

 
> mfG
> 
> Steffen
> 
> Koller Michel schrieb:
>> Sehr geehrte Damen und Herren
>> 
>> Ich habe meine Datenbanktabelle "fe_users" mit Mitgliedern gefüllt,
>> dort ist auch das Feld "date_of_birth"
>> mit einem Datum gefüllt, und zwar ein so denke ich UNIX Datum (zB
>> 259110000).
>> Ich würde gern auf meiner Webseite die Mitglieder herausschreiben die
>> am jetztigen Tag und Monat Geburtstag haben.
>> 
>> Hat jemand eine Idee wie ich das heutige Datum (also NUR Tag und Monat)
>> mit dem oben erwähnten Datumsformat in mysql vergleichen kann?
>> 
>> Egal ob mit PHP oder mit Typoscript, wichtig ist nur das ich als
>> Resultat eben die Mitglieder herausbekomme
>> die am heutigen Tag in jetztigen Monat eben Geburtstag haben.
>> 
>> Vielen Dank für jeden Hilfreichen Tip M.Koller
>> 
>>


Bernd
-- 
http://www.pi-phi.de/t3v4/cheatsheet.html


More information about the TYPO3-german mailing list