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