Bevorstehende Geburtstage aus Zeitraum errechnen

Hallo Leute,

ich habe ein Problem für das mir keine Lösung einfallen will:

Ich will dem Nutzer die Möglichkeit geben sich die bevorstehenden Geburtstage der Mitglieder anzeigen zu lassen. Dazu wählt er ein Tag aus zum Beispiel 26.08.2010 und einen Zeitraum zum Beispiel 3 weitere Tage. Jetzt soll in der Datenbank geschaut werden welche Mitglieder zwischen dem 26.08 - 29.08 Geburtstag haben. Mir fällt grad echt nicht ein wie ich das bewerkstelligen soll.

Mit freundlichen Grüßen
Amityville

SELECT bla WHERE datum >= $datum1 AND <= $datum2 bspw?

JEtzt ungetestet, sollte aber in etwa so gehen…

Müsstest du das dann aber nich für jedes einzelne Jahr abfragen?

Ja der SELECT würde theoretisch ja nicht ganz falsch sein aber wenn einer 1904 geb hat und es aber 2010 als startdatum angegeben wird würde ja nie ein rückgabewert kommen. iwie muss es doch ne möglichkeit geben das ganze abzufragen ohne das jahr zu berücksichtigen. Also nur nach Tag und Monat.

Ja, gibt’s - und es gibt auch ein Handbuch, in dem man sowas nachlesen kann …

Ganz banal wäre die Nutzung des %-Zeichens :smiley:

Nein das geht nur mit Datumsfunktionen :wink:

Und wie ? Ich bin nämlich ziemlich ratlos momentan.

Erläutere das bitte mal… wann geht das nicht?

Zu dem Zwecke könnte man ja eine gesonderte Datenspalte anlegen,
in der man eine Kombination von Monat und Tag ablegt.
Auch wenn man direkt den durchnumerierten Tag des Jahres
ablegt, kann man zügig mit einer Differenz in Tagen vergleichen -
und danach aufgrund der Schaltjahresproblematik das exakte Datum
bei Bedarf aus einer anderen Datenspalte holen.
Nur zum Jahresbeginn und -ende müßte man dann einen Überlapp
basteln (also zwei Abfragen im Zweifelsfalle).

SELECT vorname, name, geburtstag, DATE_FORMAT( geburtstag, '%d.%m.%Y' )AS MoTa,DATE_FORMAT(geburtstag, '%m.%d') AS datum_sort FROM team ORDER BY datum_sort

Der Codeschnipsel hatte ne lustige geschichte, als ich php/mysql zu lernen begann, hatte ich beim geburtstagskalender noch meine probleme, also google angeworfen, und darauf gestoßen, leider warn kleiner fehler drinnen, deshalb funktionierte es noch nicht richtig, nen bekannten in icq gefragt, was der fehler heißt, sql gezeigt - er fragt mich wo ich das her habe, war nämlich von ihm :smiley:

Oha ein Stück Code mit geschichte :smiley: danke ich werds mal versuchen zu integrieren :smiley: