Ankündigung

Einklappen
Keine Ankündigung bisher.

MySQL-Ausgabe - abhängig vom Datum

Einklappen

Neue Werbung 2019

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

  • MySQL-Ausgabe - abhängig vom Datum

    Ich möchte, dass Einträge, die älter als 6 Wochen sind, nicht angezeigt werden. Wie kann ich das machen?

    Das Datum wird im Feld "start" folgenderweise gespeichert: JJJJ-MM-TT

    Code:
    $result = mysql_query("SELECT * FROM daten ORDER BY id DESC");
    Gruß
    David


  • #2
    Ich denke es wäre besser wenn du das Datum als timestamp speichern würdest.
    Dann einfach aktuellen timestamp vor der der abfrage ermitteln,und dann davon 6 Wochen abziehen
    (musst du halt ausrechnen wieviel Sekunden 6 Wochen sind)

    und dann die abfrage in etwa so:

    ... from daten where datum>$errechnetes_datum order by...


    Oder du schaust hier mal ob du was passendes findest:
    http://dev.mysql.com/doc/mysql/de/da...functions.html
    Und geht auch alles in die Binsen, immer heftig weiter grinsen!

    Kommentar


    • #3
      Danke für die Anwort.

      Wird mit TIMESTAMP die aktuelle Uhrzeit festgehalten, oder kann man einen beliebigen Zeitpunkt wählen und diesen speichern?

      Es handeslt sich nicht um ein aktuelles Datum. Die Benutzer können über Select-Felder ein beliebiges Datum wählen, das in der Zukunft liegt (Die Uhrzeit spielt dabei keine Rolle)

      Lässt sich das immernoch so realisieren?
      Gruß
      David

      Kommentar


      • #4
        Du kannst einen Timestamp mit beliebigen Werten füllen.
        Guckst du hier:
        http://de.php.net/manual/de/function.mktime.php
        Und geht auch alles in die Binsen, immer heftig weiter grinsen!

        Kommentar


        • #5
          Das funktioniert mit einer DATE-Spalte hervorragend. Das Format solltest du also nicht ändern.
          Ab MySQL 5 geht es so:
          Code:
          WHERE datum >= DATE_SUB(NOW(), INTERVAL 6 WEEK
          Vor MySQL 5 muss der Zeitraum statt in Wochen in Tagen angegeben werden:
          Code:
          WHERE datum >= DATE_SUB(NOW(), INTERVAL 42 DAY)
          -> http://dev.mysql.com/doc/refman/5.0/...functions.html

          Kommentar


          • #6
            danke xabbuh, du hast mir ziemlich viel arbeit ersparrt
            Gruß
            David

            Kommentar

            Lädt...
            X