Zum Inhalt springen

Datum aus DB sortiert auslesen


Empfohlene Beiträge

Hi, ich bin dabei eine Gebutrstgsliste zu erstellen.

In der DB ist der Name und das GebDatum im Format JJJJ-MM-TT gespeichert.

Nun soll wird mit PHP ein Kalender erzeugt und die Tage, an denen ein User Geburtstag hat sollen rot werden.

Jetzt stehe ich vor dem Problem wie ich am besten überprüfen kann, wer an dem Tag Geburtstag hat. Ich könnte natürlich bei jeden Tag ne Abfrag machen. Das hat den Nachteil, dass ein riesen Trafic auf der DB entsteht und ich muss irgendwie das Jahr ignorieren (keine Ahung wie ich das einschränke WHERE geb= XXXX-12-15 z.B.).

Hab auch überlegt das Abfrageergebnis in nen Array zu schreiben und den zu überprüfen, is halt nur dumm dass ich dann 365(Tage)x150(user) Prüfungen hab. Dann wird die Seite ja nie aufgebaut

Oder hat jemand ne besser Idee?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Welche Datenbank ?

In Oracle:

select vname, nname from mitarbeiter

where trunc(sysdate)=trunc(gebdat);

davon ausgehen das das Geburtsdatum als DATE gespeichert ist.

Dann muß er aber immer noch für jeden Tag die Abfrage machen...

das Jahr ausblenden kann man mit: to_char(sysdate ,'MM-DD') gibt nur Monat und Tag aus.

TO_CH

-----

08-02

Um die Last zu veringern kann man das Ergebnis auch Regelmäßig aktualisieren lassen. Also per job alle x Stunden die Geburtstage fest in eine extra Tabelle selektieren und für die alenderanzeige diese Tabelle abfragen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Besten Dank,

ich mach es jetzt so:

sql("SELECT a.U_Nick, DATE_FORMAT(`b.P_Geb`, '%d.%m') as datum
FROM user a, profil b
WHERE a.U_ID= b.P_ID
ORDER BY b.P_Geb asc;"); [/PHP]

Das kommt in nen Array und der wird dann überprüft, so hab ich weniger Traffic auf der DB.

Mal sehen wies am Ende aussieht!!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Besten Dank,

ich mach es jetzt so:

sql("SELECT a.U_Nick, DATE_FORMAT(`b.P_Geb`, '%d.%m') as datum
FROM user a, profil b
WHERE a.U_ID= b.P_ID
ORDER BY b.P_Geb asc;"); [/PHP]

Das kommt in nen Array und der wird dann überprüft, so hab ich weniger Traffic auf der DB.

Mal sehen wies am Ende aussieht!!

das du so wenig traffix auf der DB hast bezweifle ich.

Du Lässt dir alle User von der DB im Dataset ausgeben, aber wenn du sie wie ich oben beschrieben habe mit dem "where" filters, ist das dataset doch viel geringer

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...