spesso: Habe Probleme mit dem Befehl now() und datum

Hallo all,

also ich möchte auf einer Seite Flyer anzeigen lassen die alle das Datum >= now() besitzen und (jetzt kommt mein Problem) nicht über eine Woche schreiten, das heisst das jede Woche einen neuen Flyer angezeigt werden soll und am Sonntag soll der Flyer angezeigt werden für die kommende Woche. Habe bis jetzt das hier gemacht...

"SELECT flyer FROM flyer WHERE datum >= now() AND datum ??? "

ich hoffe jemand versteht mein Problem :)

Besten Dank jetzt schon für die Hilfe.

Gruss spesso

  1. Hallo spesso.

    Wenn ich Dich richtig verstanden habe, dann brauchst Du eine obere und eine untere Schranke (heute+eine_woche). -> [pref:t=35413&m=193120])
    Wenn Du diese dann noch sotieren lässt und mit einem LIMIT 0,1 versiehst, dann sollte immer der für die aktuelle Woche gültige Flyer aus der DB rauskommen.

    Grüße aus Würzburg
    Julian

    1. Hoi Julian,

      erstmal besten Dank für die Hilfe, wie genau sollte dann deiner Meinung nach der Code aussehen ?

      1. Hallo!

        erstmal besten Dank für die Hilfe, wie genau sollte dann deiner Meinung nach der Code aussehen?

        Hast Du den mal ein Blick in die Doku geworfen?

        SELECT spalte FROM tabelle WHERE WEEK(datum)=WEEK(CURRENT_DATE) AND datum >= CURRENT_DATE;

        Es wird verglichen, ob die Woche aus der Spalte "datum" gleich der Woche des aktuellen Datums ist. Es wird aber nur angezeigt, wenn das Datum in der Spalte "datum" größer oder gleich dem aktuellen Datum ist. "datum >= CURRENT_DATE" kann man sich sparen, wenn ein Flyer wochenabhängig ist.

        WEEK(datum) -> Woche beginnt am Sonntag
        WEEK(datum, 0) -> Woche beginnt am Sonntag
        WEEK(datum, 1) -> Woche beginnt am Montag

        MfG, André Laugks
        l-andre @ gmx.de

  2. also ich möchte auf einer Seite Flyer anzeigen lassen die alle das Datum >= now() besitzen und (jetzt kommt mein Problem) nicht über eine Woche schreiten, das heisst das jede Woche einen neuen Flyer angezeigt werden soll und am Sonntag soll der Flyer angezeigt werden für die kommende Woche. Habe bis jetzt das hier gemacht...

    Du findest eine Beschreibung des reichhaltigen Angebots an Funktionen, die man in select benutzen kann, in der MySQL-Anleitung im Kapitel "Functions for use in select and where clauses", http://www.mysql.com/doc/en/Functions.html.
    Dort sind auch die von Julian zitierten Datumsrechenfunktionen sowie if-Klauseln beschrieben, die Du möglicherweise auch brauchst.

    Gruß,
      soenk.e