Ergebnis 1 bis 3 von 3

Thema: Datum formatieren / mySQL Condition

  1. #1
    Contao-Nutzer Avatar von Carino
    Registriert seit
    19.06.2009.
    Ort
    Reichshof, NRW
    Beiträge
    208

    Standard 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.
    Geändert von Carino (05.03.2013 um 10:03 Uhr)

  2. #2
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.949

    Standard 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.
    Geändert von fiedsch (05.03.2013 um 18:48 Uhr)
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  3. #3
    Contao-Nutzer Avatar von Carino
    Registriert seit
    19.06.2009.
    Ort
    Reichshof, NRW
    Beiträge
    208

    Standard

    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
    Geändert von Carino (06.03.2013 um 07:05 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •