Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Datensätze nach Datum sortieren und nächstes Datum ausgeben

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Datensätze nach Datum sortieren und nächstes Datum ausgeben

    Ich habe auf meiner Website einen Event-Bereich in dem ich die Events als Datensätze gespeichert habe die nach Datum sortiert sind. Ich möchte, dass auf meiner Startseite das aktuellste Event gepostet wird.

    Ich habe einen Code hier im Forum gefunden, der mir zumindest mal den heutigen Datensatz ausgibt:
    Code:
    $query_start_events = "SELECT * FROM events ORDER BY TO_DAYS(`datum`) = TO_DAYS(NOW()) DESC,  datum DESC";
    Das Problem bei dieser Abfrage ist nur, dass das am weitesten in der Zukunft liegende Event angezeigt wird, falls es keines am heutigen Tag gibt.

    Mein Ziel ist es, dass falls kein heutiges Event existiert, das nächste ausgegeben wird und nicht das allerzukünftigste (sprich höchstes Datum).

    Falls jemand weiss, wie man dieses Problem lösen kann, bitte postet es hier. Ich bin für jede Hilfe dankbar.

  • #2
    Auf die Schnelle fiele mir eine Lösung mit BETWEEN und UNION ein:
    Sorry bin grad zu faul, deshalb Pseudocode:

    Code:
    SELECT ... WHERE Datum BETWEEN CONCAT(Today,' 00:00:01) , CONCAT(Today,' 23:59:59) ORDER BY DATUM DESC LIMIT 1
    UNION 
    SELECT ... WHERE Datum > 1 ORDER BY DATUM LIMIT 1
    Aus dieser Menge holst Du den ersten Datensatz

    Kommentar


    • #3
      Danke für den Tipp. Ich habs jedoch noch ein Stück einfacher gelöst:

      Code:
      SELECT * FROM events WHERE datum >= CURDATE() ORDER BY datum ASC
      Bei CURDATE() hab ich einfach noch -7 dazugeschrieben, damit die letzten Events von bis vor einer Woche noch dazuangezeigt werden.

      Danke für die Hilfe

      Kommentar

      Lädt...
      X