Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Datum aus DB sortiert auslesen

Empfohlene Antworten

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?

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.

Hi, ich bin dabei eine Gebutrstgsliste zu erstellen.

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

Welchen Datentyp hat dein Feld?

Varchar?

Char?

Date?

mySQL DB der Name is Varchar und das Datum Date

Hab schon was gefunden:

Daten: 2004-12-23

select month(datum) from user -> 12

aber wie bekomme ich den Tag und den Monat?

ich nehm ma an mit PHP oder?


$monat = date( 'm');
$tag = date( 'd');
$SQL = 'select * from user where month(datum) = '. $monat .' and day(datum) = '. $tag';
[/PHP]

oder:

[PHP]
$SQL = "select * from user where DATE_FORMAT(datum,'%Y-%m') = ". date( 'Y-m');

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!!

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.