Daten automatisch löschen, wenn Zeit überschritten

Hallo,

ich habe eine Datenbank in welche leute ihre Kursangebote eintragen.
wie stelle ich es an, daß Angebote die schon abgelaufen sind automatisch gelöscht werden.

wann gebe ich die anweisung? kann diese Löschabfrage bei jedem seitenaufruf passieren oder sollte das der performance wegen manuell geschehen?
Vielleicht hat ja jemand eine idee?
vielen dank im vorraus…
grüße
marcus

Hallo Marcus,

wie stelle ich es an, daß Angebote die schon abgelaufen sind
automatisch gelöscht werden.

wann gebe ich die anweisung? kann diese Löschabfrage bei jedem
seitenaufruf passieren oder sollte das der performance wegen
manuell geschehen?

das kommt darauf an, wie aktuell die Löschung sein soll. Wenn es immer tagesaktuell reicht, könnte das ein cron-job einmal täglich erledigen. Aber nicht jeder Provider bietet die Einrichtung von cron-jobs an.

Ansonsten kann man es auch bei jedem Seitenabruf machen. Das kostet kaum mehr Performance als das Anzeigen der noch aktuellen Daten.

Du kannst natürlich auch die veralteten Daten einfach über die SQL-Anfrage selbst ausfiltern, und die alten Termine gar nicht erst anzeigen. Löschen kannst Du die alten Einträge dann über ein Skript, das Du einmal pro Woche manuell mit dem Browser aufrufst.

Du siehts: es gibt viele Möglichkeiten.

Gruß
Marian

Vielleicht hat ja jemand eine idee?

Je nach Anzahl deiner Seitenabrufe kannst du es auch nur ab und zu mal ausführen, z.b. so:

if (rand() % 10 == 0) {
 // hier das delete sql statement codieren
}

sollte ungefähr bei jedem 10. mal die query ausführen.

Grüße
Bruno

Vielen Dank!
Die Daten zufällig bei Seitenaufruf zu löschen ist ne gute Idee!
Vielen Dank
(cron jobs sind nicht möglich und manuell übern Browser löschen ist zu viel arbeit… die menschen sind doch faul und erfinden sachen damit sie mehr zeit haben um sachen zu erfinden damit sie mehr zeit haben… usw :smile:

Also Danke nochmal
Marcus