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