tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
308
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    DeepZone DeepZone ist offline Rookie
    Registriert seit
    Sep 2007
    Beiträge
    8
    Moin zusammen,

    Ich habe ein kleines Problem und weiss nicht wie ich es lösen soll.
    in einer Datenbank werden Termin abgelegt das Datumsformat ist d.m.Y

    Das auslesen und darstellen dieser Termine klapp auch soweit.

    Der Aufbau

    Zukünftiger Termin - Ausgabe
    Vergangene Termine - Ausgabe

    Nun habe ich mir folgenden Code ausgedacht

    Kommende Termine
    PHP-Code:
    $jetzt date("d.m.Y"); 
    SELECT FROM events WHERE datum >= '$jetzt' ORDER BY datum DESC 
    Alte Termine

    PHP-Code:
    $jetzt date("d.m.Y"); 
    SELECT FROM events WHERE datum <= '$jetzt' ORDER BY datum DESC 
    Klappt soweit auch, aber

    Termine im Folgejahr werden in den alten Termin angezeigt sobald der Monat in diesem Jahr vergangen ist... Das heisst also Termine im Dezember 2012 ab heute werden richtig dargestellt. Termine im Januar 2012 werden als alt dargestellt.

    Der nächste Punkt ist das Termine vom aktuellem Tag in beiden Kategorien angezeigt werden.

    So war das nicht gedacht Hat Irgend jemand einen Rat ?
    Danke schonmal im Vorraus.

    Greetz Deep
     

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Du vergleichst einen String. Der String beginnt mit dem Tag. Ergo wird zuerst nach Tag, dann nach Monat und am Schluss nach Jahr verglichen.

    Das MySQL Format ist mWn 'Y-m-d H:i:s'. Y--m-d ist als String sortierbar, denn es wird zuerst nach Jahr, dann nach Monat und erst am Schluss nach Tag sortiert.

    Ich empfehle dir dein Feld in der DB entweder als Datum-Format (DATE) zu definieren oder das Datum als Timestamp abzulegen. Aber ein Datum in einem eigenen Format in ein VARCHAR-Feld zu setzen ist das schlechteste was du machen kannst.

    Du kannst so auch mit Datums rechnen, vergleichen, sortieren etc.



    Hier noch ein Link wie man aus PHP-Datum zu MySQL-Datum kommt und umgekehrt
    [PHP] [MySql] Datumskonvertierung
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

Ähnliche Themen

  1. Verschachtelte MYSQL Select Sotieren
    Von Mavericklp im Forum PHP
    Antworten: 5
    Letzter Beitrag: 27.12.10, 11:06
  2. Datenbank sotieren nach Wochentag
    Von h4dhunTer im Forum PHP
    Antworten: 5
    Letzter Beitrag: 03.08.07, 12:16
  3. DB Ausagbe nach "filtern"
    Von markberg im Forum PHP
    Antworten: 5
    Letzter Beitrag: 01.09.05, 15:23
  4. Nach Namen sotieren umgekehrt...
    Von FortunaFan im Forum PHP
    Antworten: 3
    Letzter Beitrag: 07.05.05, 23:01
  5. Daten-Ausagbe auf mehrere Seiten verteilen
    Von schiieech im Forum Relationale Datenbanksysteme
    Antworten: 4
    Letzter Beitrag: 09.07.01, 20:12