Mailinglisten-Archive |
Guten Tag Wolfgang Hauck, am Donnerstag, 1. August 2002 um 14:13 schrieben Sie: >>hallo Liste >>Ich habe ein kleines Problem und bräuchte einen Tipp in welche Richtung >>ich gehen müsste. >>Ich muss gewisse Datensätze die ein gewisses Alter überschreiten aus >>der Datenbank (Mysql) automatisch löschen lassen. >>Leider steht ich da gerade völlig Ahnungslos da, da ich selbst zum >>Lösungsansatz noch ncihts weiter gefunden habe. >>Ich studiere zwar eifrig Bücher aber vielleicht kennt ja hier jemand >>einen gängigen Lösungsweg, der hier weiterhelfen könnte. > Hi Manuel, > Hier fallen mir zwei Ansätze ein: > 1. Das ganze über einen Cronjob erledigen oder > 2. Über ein Includescript mit php: > <?php > function loesche_Daten() { > // mach was ...... > } > $probability = 10 // Warscheinlichkeit in Prozent > if ((rand()%100) < $probability) { > loesche_Daten(); > } ?>> > Hier wird in 10% aller Fälle deine Funktion aufgerufen. Wenn jetzt ein > Benutzer deine Seite besucht wird so ca. alle 10 Mal deine Löschfunktion > aufgerufen. > MFG Wolfgang Ich hätte noch einen 2,5 te ;-) Du versiehst die Datensätze einfach beim Speichern in die DB mit einer timestamp, die halt besagt, wann dieser Datensatz in die DB eingepflegt wurde. Könnte halt etwa so aussehen: "20020801", wenn der Datensatz heute gespeichert wäre. Die Datumwerte mußt du halt mit den etsprechenden PHP-Funktionen ermitteln. Danach schreibst du ein Script [z.B. cleanupdb.php], welches alle Datensätze welche eine niedrige timestamp haben als das "aktuelle Datum"-05 Tage. Diesen Script rufst du halt einmal am Tag kurz auf, oder nimmst die obengennante Lösung. MfG Kristian Gavran ---------------------------| Kristian Gavran E-Mail:php_(at)_kriga.net ---------------------------|
php::bar PHP Wiki - Listenarchive