Hilfe

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

  • Hilfe

    Ich möchte gerne die Einträge aus der Datnbank löschen, deren Datum kleiner als das aktuelle ist. Das Problem ist, dass ich das Datum in der DB als Varchar abgespeichert habe und in der Spalte folgendes steht:
    13.01.03 nun möchte ich, dass alle Einträge, die kleineres Datum haben als Heute, gelöscht werden.

    Kann mir jemand verraten wie ich das anstellen soll ??

    <?php
    $nowdate = date("d.m.y");
    mysql_connect ($dbserver,$dbuser,$dbpass);
    mysql_select_db ($dbname);
    $query = mysql_query("DELETE FROM LANPARTYS WHERE START < 'nowdate' ");
    ?>

    Das geht bei mir nicht, da das Datum als Varchar gespeichert wid
    Zuletzt geändert von archie; 27.01.2003, 10:10.

  • #2
    speicher das datum nicht als varchar sondern als DATE oder DATETIME in der DB ab.

    dann kannst du auch mit DB-eigenen mitteln einen vergleich machen.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Das Problem ist, dass ich schon welche Einträge habe, die mit varchar gespeichert werden, außerdem wird das Datum über Formular eingegeben.
      Ich kann leider z.Z nur die Einträge löschen, die das gleiche Datum haben, aber nicht die, wo das Datum schon vorbei ist

      Kommentar


      • #4
        und genau das geht, wenn das feld DATE/DATETIME ist.

        Code:
        DELETE FROM tabelle WHERE datum < NOW();
        EDIT:
        du kannst ja ein weiteres feld machen, um die vorhandenen werte umzustellen und neu zu speichern. die jetzige spalte kannst du danach löschen.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar

        Lädt...
        X