Mailinglisten-Archive |
Dietmar Winhold wrote: > ich bin dabei eine Anzeigenboerse zu programmieren. Es stellt sich nun die > Frage, wie man Anzeigen nach einem gewissen Zeitraum (z.B. nach 4 Wochen) > automatisch löschen kann, bzw. den Status zur Veröffentlichung auf '0' > setzen kann? Falls die Anzahl der Anfragen nicht zu hoch ist, ist es vertretbar, daß bei jedem Neueintrag eine garbage collection aufgerufen wird. Diese muß nicht bei jedem Aufruf arbeiten, sondern zufalls- oder zeitgesteuert nur bei jedem n-ten Aufruf. function GarbageCollection( $probability = 30) { srand((double)microtime()*1000000 if ($probability != rand(0, $probability)) return; $query = sprintf("delete from meinetabelle where datum<%s " ... } Für kleine Datenmengen wurde jedoch bereits ein eleganterer Vorschlag gemacht. Speichere ein Ablaufdatum und starte die garbage collection von Hand - egal ob per Skript, per cron oder auf der Kommandozeile alle x Monate. Ulf -- Ulf Wendel NetUSE Kommunikationstechnologie GmbH Siemenswall, D-24107 Kiel, Germany Fon: +49 431 386435 00 -- Fax: +49 431 386435 99
php::bar PHP Wiki - Listenarchive