Mailinglisten-Archive |
Rene Paschold wrote: > > From: Ulf Wendel <ulf_(at)_redsys.de> > ich mal sehen wie das geht !!! Wie schreibt man Datum in die DB und > wie kann man sie vergleichen bzw. Functionen auslösen wenn ein Datum > erreicht ist. Sorry für die vielen Fragen aber wenn ich es einmal kann > dann keine Fragen mehr *grins* Also Rene, das wurde doch nun zu genüge diskutiert. Jede Woche einmal. Unten siehst Du Code für einen timestamp(14). > > Damit die Datenbanktabelle nicht endlos viele Daten enthält, baust > Du > > Dir eine zufallsgesteuerte garbage collection, die bei jedem x-ten > > Aufruf aufräumt. > > Wie geht das denn?? *hochinteressant* /** * Wahrscheinlichkeit mit der die Garbage Collection ausgeführt wird * _(at)_field int $probability im Mittel bei jedem x.ten Aufruf * _(at)_access private */ var $probability = 10; /** * Wieviele Tage alt dürfen Einträge in der Session Tabelle werden * _(at)_field int $garbagedelay * _(at)_access private */ var $garbagedelay = 3; /** * Garbage Collection zur Beseitigung von abgelaufenen Sessions * _(at)_param void * _(at)_return boolean * _(at)_access private / function GarbageCollection() { if (rand(0, $this->probability) != $this->probability ) return false; $olddate = date ("YmdHis", mktime(0,0,0, date("m"), date("d")-$this->garbagedelay, date("Y"))); $query = sprintf("delete from sessions where changed<'%s' ", $olddate ); return _(at)_mysql_query($query, $this->dbconnection); } // end func GarbageCollection /** * Ausführende Session Funktion * _(at)_access public */ function do() { $this->GarbageCollection(); [...] } // end func do Grüße, 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