MySQL: alle Daten einer KW suchen, aber nur EIN Datum angeben

Dieses Thema MySQL: alle Daten einer KW suchen, aber nur EIN Datum angeben im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von Michael_B, 4. Okt. 2003.

Thema: MySQL: alle Daten einer KW suchen, aber nur EIN Datum angeben Hallöchen, ich bin gerade dabei, meinem Terminchaos abhilfe zu schaffen, indem ich mir ein Browser-basiertes...

  1. Hallöchen,

    ich bin gerade dabei, meinem Terminchaos abhilfe zu schaffen, indem ich mir ein Browser-basiertes Verwaltungstool ähnlich wie der Outlook Kalender schreibe.

    Ich möchte also auf einer Seite alle Tage der aktuellen Kalenderwoche angezeigt haben.
    Wenn nun z. B. der akt. Tag ein Mittwoch ist, möchte ich aus der DB alle Termine von Montag (also der vor 2 Tagen) bis Sonntag auslesen.

    Ich könnte natürlich erstmal mit PHP hingehen und ermitteln welches Datum der Montag der akt. Woche hätte und dann mittels SQL und der Datumsfunktionen von MySQL die entsprechenden Termine heraussuchen.

    Aber: Geht das vielleicht irgendwie ohne große Rechnerei, möglichst nur mit nem SQL-Query?
     
  2. Hi

    SELECT * FROM iowa WHERE mydate BETWEEN (NOW() - INTERVAL 2 DAY) AND (NOW() + INTERVAL (8 - DAYOFWEEK(NOW())) DAY)

    Sollte ungefähr funktionieren. Siehe http://www.mysql.com/doc/en/Date_and_time_functions.html

    Gruß, Michael
     
  3. das sieht gut aus, werd ich gleich morgen mal ausprobieren.
     
  4. Naja... ich denke ich habe meine Frage etwas missverständlich ausgedrückt. Ich wollte alle Tage der aktuellen KW angezeigt/ermittelt haben, auch die Tage, von denen es keinen Eintrag in der Tabelle gibt (die Anfrage bezieht sich also nicht wirklich auf eine bestimmte Tabelle). Nach einigen Recherchen hab ichs dann rausbekommen:

    SELECT @mo:=DATE_SUB(NOW(), INTERVAL (WEEKDAY(NOW())) DAY);
    SELECT @mo AS montag,
    DATE_ADD( @mo, INTERVAL 1 DAY ) AS dienstag,
    DATE_ADD( @mo, INTERVAL 2 DAY ) AS mittwoch,
    DATE_ADD( @mo, INTERVAL 3 DAY ) AS donnerstag,
    DATE_ADD( @mo, INTERVAL 4 DAY ) AS freitag,
    DATE_ADD( @mo, INTERVAL 5 DAY ) AS samstag,
    DATE_ADD( @mo, INTERVAL 6 DAY ) AS sonntag;

    Statt den NOW()'s in der ersten Zeile kann ich dann ja auch ein beliebiges Datum wählen, worauf ich die Tage der Woche des angegebenen Datums bekomme.

    Dennoch danke für eure Hilfe.

    Thema erledigt
     
Die Seite wird geladen...

MySQL: alle Daten einer KW suchen, aber nur EIN Datum angeben - Ähnliche Themen

Forum Datum
MYSQL:Alle Datensätze finden, deren PK nicht in einem anderen Datensatz ist Webentwicklung, Hosting & Programmierung 9. Nov. 2006
Sicher alle Daten: mySQL DB vom webSpace auf die Festplatte Software: Empfehlungen, Gesuche & Problemlösungen 20. Juli 2004
Versionsprobleme mit der "mysql.dll" (32 und 64bit) Windows 7 Forum 28. Juni 2016
Mysql-Zugriff via batch Webentwicklung, Hosting & Programmierung 16. Okt. 2014
Automatisierte MySQL Backups erstellen Windows XP Forum 28. Aug. 2012