Datum berechnen mit PHP oder MySQL

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

  • Datum berechnen mit PHP oder MySQL

    nabend leute,

    habe da ein prob, und zwar möchte für einen eventkalender ein datum (das datum wo dann das Event anfängt) bzw. eintrag dann löschen wenn es denn tag der veranstaltung (event) und die zeit (23:59 Uhr) errreicht hat aus der Datenbank rauslöschen, wie funktz das bzw. kann mir da jemand helfen ?????

    meine daten speichere ich in in einer MySQL-DatenBank ab und bearbeite diese mit PHP.

    würd emich freuen wenn mir da jemand helfen kann.

    wenn fragen sind dann stellt sie versuche sie zu beantworten ))

  • #2
    Einen täglichen Cronjob, der ein PHP-Script anstößt, welches
    DELETE ... WHERE tag = $heute AND $uhrzeit > eventzeit
    macht. Mehr braucht es nicht.

    Kommentar


    • #3
      danke erstmal für deine schnelle antwort aber was meinst du mit cronjob ???? kannst du mir das mal genauer erklären ???

      ja und mein datum und zeit sind separat abegespeichert in der db und zwar wie volgt:


      tabelle für datum und mit inhalt:

      event_datum = 10#12#2005

      tabelle mit zeit und inhalt:

      event_zeit = 22#00

      hatte vor die daten dann zu exploden und kann auf die einzelnen werte dann mit array zugreifen zb:

      $exp = explode("#", $datum);
      echo $exp[0]; // Tag
      echo $exp[1]; // Monat
      echo $exp[2]; // Jahr
      usw.

      und wie mache ich das nun das ich prüfe das das datum schon abgelaufen ist das ich das dann löschen kann, wenn es noch nicht abgelaufen ist soll es weiterhin angezeigt werden.

      danke

      Kommentar


      • #4
        http://www.cronjob.de/

        Kommentar


        • #5
          das ist lieb gemeint aber suche niemanden der mir sowas rauslöscht, möchte unabhänging von providern sein die events sollen beim nächsten aufruf einfach nur überprüft werden und wenn nötig dann gelöscht werden dann werden alle anderen noch gültigen events angezeigt.

          Kommentar


          • #6
            Dann ohne Cronjob. Das Script, das die Events anzeigt, holt sie ja irgendwie aus der DB. Lass es davor einfach DELETE ... machen.

            Übrigens ist die Query da oben leicht falsch: ... WHERE tag < $heute ...

            Kommentar


            • #7
              @sp3s: Das Format, in dem Du die Datums- und Zeitangaben speicherst, ist ein bisschen unglücklich gewählt. Damit kannst Du nämlich die nativen Datums-Vergleichsfunktionen (also z.B. Datum x kleiner als Datum y) von mySQL nicht nutzen. Entweder (wenn es architektonisch geht) in mySQL-Datumsangaben umwandeln oder die DELETE-Abfrage wird halt etwas komplizierter, weil Du die durch # getrennten Angaben mit den Stringfunktionen auseinandernehmen und dann Tag, Monat, Jahr, Stunde und Minute einzeln vergleichen mußt.

              Kommentar


              • #8
                Wenn Du das Datum in EINEM Feld mit Typ DATETIME speicherst
                also z.B. event_datumuhrzeit = 2005-12-10 22:00
                dann kannst Du ganz einfach
                mit

                DELETE FROM tabelle WHERE event_datumuhrzeit < NOW()

                alle Einträge der Vergangenheit löschen.
                Die zehn Gebote sind deswegen so kurz und logisch, weil sie ohne Mitwirkung von Juristen zustande gekommen sind. (Charles de Gaulle)

                Kommentar


                • #9
                  super danke euch erstmal die letzte antwort von thommyk scheint mir ganz gut auszuschauen nur *g* eine beklopte frage hehe noch mal, und zwar wie speuicher ich ein DATETIME ab (ein eigenes defeniertes Datum mit Zeit (2005-10-04 23:59)).

                  danke euch seit spitzäääääääääää

                  euer sp3s

                  Kommentar


                  • #10
                    Es gibt einen eigenen Spaltentyp DATETIME
                    guckst Du hier http://dev.mysql.com/doc/refman/4.0/de/datetime.html
                    Die zehn Gebote sind deswegen so kurz und logisch, weil sie ohne Mitwirkung von Juristen zustande gekommen sind. (Charles de Gaulle)

                    Kommentar

                    Lädt...
                    X