Datum formatieren / mySQL Condition

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Carino
    Contao-Nutzer
    • 19.06.2009
    • 210

    #1

    Datum formatieren / mySQL Condition

    Hey, kann mir jemand bei einer Formulierung eines mySQL Statements helfen?

    Felder:
    beginn = Startdatum
    ende = Enddatum
    kategorie = Taxonomie


    Aktuell ist es so:
    Code:
    publish = 1 AND beginn >= UNIX_TIMESTAMP() AND kategorie = 82 OR 
    publish = 1 AND beginn >= UNIX_TIMESTAMP() AND kategorie = 77 OR 
    publish = 1 AND beginn >= UNIX_TIMESTAMP() AND kategorie = 80 OR 
    publish = 1 AND beginn >= UNIX_TIMESTAMP() AND kategorie = 81
    Die Veranstaltung geht jedoch auch manchmal länger als einen Tag, also muss ich das Ende mit einbeziehen, welches jedoch nicht immer gefüllt ist.
    So in der Art könnte ich mir das vorstellen, klappt aber nicht wegen den Klammern und überhaupt:

    Code:
    publish = 1 AND kategorie = (82 OR 77 OR 80 OR 81) AND IF ende != '' (ende <= UNIX_TIMESTAMP()) ELSE (beginn >= UNIX_TIMESTAMP() )
    Vielen Dank!
    Carino

    Ps. Vielleicht kann man die Kategorien auch zusammenführen? Kommasepariert klappte nicht.
    Zuletzt geändert von Carino; 05.03.2013, 11:03.
  • fiedsch
    Contao-Urgestein
    • 09.07.2009
    • 3074

    #2
    Datum formatieren / mySQL Condition

    kategorie IN (82,77,80,81) ist das, was Du suchst.

    Bei Deinen Zeitpunkten Blicke ich momentan nicht ganz, was erreicht werden soll.
    Zuletzt geändert von fiedsch; 05.03.2013, 19:48.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

    Kommentar

    • Carino
      Contao-Nutzer
      • 19.06.2009
      • 210

      #3
      hi fiedsch,

      danke dir. Ich habe nun folgende Lösung, die funktioniert:

      Code:
      publish = 1 AND kategorie IN (82, 77, 80, 81) AND 
      ( 
      (ende != '' AND ende >= UNIX_TIMESTAMP()) 
      OR beginn >= UNIX_TIMESTAMP() 
      )
      Damit will ich alle Events anzeigen, die jetzt oder später online sind unabhängig davon ob ein Enddatum gewählt wurde oder nicht (dann wird das Beginndatum genommen).
      Steht nun auch im Wiki. Danke für die Hilfe von Janosch.

      Grüße,
      Carino
      Zuletzt geändert von Carino; 06.03.2013, 08:05.

      Kommentar

      Lädt...