Seite 1 von 1
Tabelle alle XX Tage komplett leeren lassen?
Verfasst: 22.02.2003 17:45
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
Verfasst: 22.02.2003 20:21
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
Verfasst: 22.02.2003 20:34
von Jason
dafür müsstest du das Datum der letzten Leerung irgendwie in der db festhalten
Jo die frage ist nur wie?

Zum leeren der tabelle bräuchte ich doch nur ein sql query alà:
oder?
Gruß Jason
Verfasst: 22.02.2003 20:37
von Advanced-Rookie
ja genau, wie siehts mit dem rest aus? bekommst du das hin?
Verfasst: 22.02.2003 20:42
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
Verfasst: 22.02.2003 21:11
von Advanced-Rookie
füge halt beim 1. mal einen wert in die db ein
Verfasst: 23.02.2003 12:28
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.
Verfasst: 23.02.2003 19:34
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?
Verfasst: 23.02.2003 19:42
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

.
Verfasst: 23.02.2003 19:55
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!