ronny: aufräumarbeiten autom.

wie löse ich es , das gewisse felder in meiner mysql automatisch nach 2 tagen gelöscht werden? habe echt wenig erfahrung mit php oder mysql..wäre aber echt nett, wenn jemand helfen könnte ;)
thx

  1. Hi,

    wie löse ich es , das gewisse felder in meiner mysql automatisch nach 2 tagen gelöscht werden?

    Schritt 1: Speichere das Datum mit.
    Schritt 2: Baue den Aufräummechanismus.
    Schritt 3: Starte ihn regelmäßig.

    Cheatah

  2. Hallo Ronny,

    wie löse ich es , das gewisse felder in meiner mysql automatisch nach 2 tagen gelöscht werden? habe echt wenig erfahrung mit php oder mysql..wäre aber echt nett, wenn jemand helfen könnte ;)

    zwei Ansätze (ich nehme an Du willst Feldinhalte oder Datensätze löschen, nicht die Felder, wenn Du das willst, ist Dein Datenbankdesign falsch):

    • wenn es nicht nach genau zwei Tagen sein muß, kannst Du beim Aufruf der Seiten (wenn Du mit php arbeitest, haßt Du ja sicher einen header oder ein anderes include, das in jeder Seite drinsteckt) einfach alles, was z.B. älter als zwei Tage ist, per SQL löschen. So ist das natürlich sehr ineffektiv, da jede Seite den Löschbefehl ausführt. Deswegen macht man dann noch ein Zufallsfunktion davor, die die Aufräumfunktion nur ausführt, wenn die Zufallszahl unter einem bestimmten Schwellenwert ist, der umso kleiner ist, je höher die Zugriffszahlen auf deine Seite sind, d.h. bei 100 Zugriffen am Tag setzt Du den Schwellenwert auf 2%, dann wird das Aufräumskript mit relativ großer Sicherheit oft genug ausgeführt, damit die Daten nach zwei Tagen gelöscht werden.
    • wenn Du unter Linux arbeitest, kannst Du auch einen Cron-Job einrichten, der Lynx mit deiner php-Aufräumseite aufruft.

    Viele Grüße
    Stephan

  3. wie löse ich es, das gewisse felder in meiner mysql automatisch nach 2 tagen gelöscht werden?

    Auf jeden Fall kannst Du dies nicht auf Datenbankebene lösen, da MySQL 3.x keine trigger unterstützt. Erforderlich ist daher ein Feld des Typs DATETIME oder - wenn Du willst - TIMESTAMP, das "regelmäßig" ausgelesen und mit dem aktuellen Datum verglichen wird. Wie bereits erwähnt, wäre ein cronjob theoretisch das geeignetste Mittel dafür.