Tabelle alle XX Tage komplett leeren lassen?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Jason

Tabelle alle XX Tage komplett leeren lassen?

Beitrag von Jason »

Hi,
ich habe mir selbst einen kleinen IP Logger zusammengebastelt (Auf DB basis) nun schreibt er eine Menge Daten über die User in eine tabelle namens activities_ip_logger das heisst nach eine gewissen Zeit verbraucht es eine Menge Speicherplatz in der DB.Ist es irgendwie möglich die tabelle automatisch alle XX Tage leeren zu lassen?

Ich habe leider nur begrenztes Wissen in sachen PHP und auch keine idee wo ich da anfangen soll.Wäre nett wenn mir da jemand weiterhelfen könnte :)

Grüße Jason
Advanced-Rookie
Mitglied
Beiträge: 124
Registriert: 04.10.2002 15:02
Kontaktdaten:

Beitrag von Advanced-Rookie »

hi, du könntest z.B. eine Bedingung schreiben, dafür müsstest du das Datum der letzten Leerung irgendwie in der db festhalten, z.B. als timestamp oder ähnliches.
in dem script rufst du den Wert aus der datenbank ab und schreibst im Prinzip folgendes:

if ($datum_heute-$datum_in_db > xx)
{
sqlbefehl fürs löschen der db
}

$datum_heute

ist das datum von heute was natürlich kompatibel mit dem in der db sein sollte. also nicht 13.10.02 mit einem Zeitstempel vergleichen also 231243243354 irgend so eine riesige Zahl(Sekunden seit 1.1.1970)

$datum_in_db

ist dein gespeichertes datum aus der db

wenn du es genau brauchst, melde ich im icq 76480749
Stell dir vor es ist Krieg und niemand geht hin.
Jason

Beitrag von Jason »

dafür müsstest du das Datum der letzten Leerung irgendwie in der db festhalten
Jo die frage ist nur wie? :o Zum leeren der tabelle bräuchte ich doch nur ein sql query alà:

Code: Alles auswählen

$sql = "DELETE FROM activities_ip_logger";
oder?

Gruß Jason
Advanced-Rookie
Mitglied
Beiträge: 124
Registriert: 04.10.2002 15:02
Kontaktdaten:

Beitrag von Advanced-Rookie »

ja genau, wie siehts mit dem rest aus? bekommst du das hin?
Stell dir vor es ist Krieg und niemand geht hin.
Jason

Beitrag von Jason »

Jo, bis auf das mit dem Datum der letzten Leerung, das kann doch irgendwie schon rein physisch net gehen dann müsste ja schon bevor es zum ersten mal geleert wird das Datum der Letzten Leerung vorhanden sein.Sonst würde ja die if abfrage nicht greifen :-?

Gruß Jason
Advanced-Rookie
Mitglied
Beiträge: 124
Registriert: 04.10.2002 15:02
Kontaktdaten:

Beitrag von Advanced-Rookie »

füge halt beim 1. mal einen wert in die db ein
Stell dir vor es ist Krieg und niemand geht hin.
Seether
Mitglied
Beiträge: 1446
Registriert: 10.10.2002 23:42

Beitrag von Seether »

Also richtig wird das nur mit CronJobs funktionieren, denn so hast Du ein Problem. Stell dir vor die Seite die das Löschen der Tabelle ausführt wird nie mehr besucht, dann wird auch keine Zeit berechnet und nichts gelöscht. Und wenn Du das Script auf ne Seite packst die dauernd besucht wird, dann wird schön gelöscht, aber es frisst Performance.


Ciao S.
Advanced-Rookie
Mitglied
Beiträge: 124
Registriert: 04.10.2002 15:02
Kontaktdaten:

Beitrag von Advanced-Rookie »

wenn ich fragen dürfte, was sind cronjobs?
und eine if abfrage frisst ja nicht gerade ne menge performance.
und wenn keiner auf die Seite kommt, werden auch keinen neuen Daten angehäuft, es kann also nur bei sehr vielen Besuchern Probleme mit der performance geben, aber google-verhältnisse bekommen wir normalsterblichen webmaster eh nicht hin.
Cronjobs würden mich aber interessieren,was genau ist das?
Stell dir vor es ist Krieg und niemand geht hin.
Benutzeravatar
jasc
Ehemaliges Teammitglied
Beiträge: 2497
Registriert: 24.05.2001 02:00
Wohnort: Hergensweiler bei Lindau/B

Beitrag von jasc »

Meines Wissens nach dienen Cronjobs dazu, um etwas regelmäßig automatisch laufen zu lassen.
Mal ein anschauliches Beispiel. Du hast einen Spiele-Server und möchtest die Stats dazu nicht selber immer aktualisieren. Hier kannst du einen Cronjob einrichten, der das für dich zum Beispiel jede halbe Stunde automatisch aktualisiert. Natürlich kann man das auch für andere Dinge verwenden.
Es hängt aber vom Hoster ab, ob er Cronjobs anbietet und wenn ja, in welchen Abständen, kann zum Beispiel auf eine Aktualisierung pro Tag begrenzt sein.

Ich hoffe, ich verwechsle das jetzt nicht :-).
Benutzeravatar
Gonzo_w
Mitglied
Beiträge: 58
Registriert: 15.10.2002 16:02
Wohnort: Wien
Kontaktdaten:

Beitrag von Gonzo_w »

RAMses of JaSc hat geschrieben:Ich hoffe, ich verwechsle das jetzt nicht :-).
Ist schon richtig, was du schreibst! Wenn das der Hoster anbietet, dann ist das meist so, dass du ihm ein script angiebst, dass du ausgeführt haben möchtest, und das wird dann (meist einmal pro 24 Stunden, und in der Nacht, wegen der Performance) automatisch ausgeführt!
Wer nicht wettet, hat schon verloren .... www.bet-austria.com
Die österreichische phpBB Usergruppe!
Antworten

Zurück zu „Coding & Technik“