WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   PHP & MySQL Problem (http://www.wcm.at/forum/showthread.php?t=183913)

hewlett 25.01.2006 12:11

PHP & MySQL Problem
 
Hi Leute,

ich hab folgendes Problem (oder denke ich einfach zu kompliziert?):

ich habe in meiner mysql db eine tabelle mit einem haufen terminen. Da ich aber die Termine nicht jedesmal händisch herauslöschen möchte aus der tabelle wurde ich gerne wissn wie ich das anders lösen könnt (mittels php)?

helios 25.01.2006 12:25

nach welchen kriterien löscht du denn die termine? sollte doch mit einem
Code:

delete from tabelle where ...
gehen

hewlett 25.01.2006 12:46

das is mir schon klar wie man was aus einer tabelle löscht, mir gehts darum das das automatisch geschieht.

z.b.:
Termin am 22.01.06

Heute ist aber schon der 25.01, also soll der Termin automatisch aus der DB gelöscht werden.

Kann man sowas mit Trigger lösen? Gibts sowas in MySQL?

Satan_666 25.01.2006 13:40

Wirklich echte Lösung habe ich auch keine, ich könnte nur auch sowas ähnliches brauchen. Beispielsweise, um mir selber und automatisch Erinnerungsmails zu schicken.

Wenn Du nur die Termine löschen willst und Du eine möglichst vielbesuchte Homepage hast, könntest Du ja das Löschen der alten Termine mit Deiner Startseite verknüpfen. Sozusagen: jedesmal, wenn jemand die Startseite aufruft, werden automatisch die alten Termine gelöscht. Hätte halt den "Nachteil", dass Termine auch mal länger in der Datenbank bleiben, wenn die Homepage nicht angesteuert wird.

Eine andere Lösung wäre, das Löschen im Zuge eines neuen Eintrages durchzuführen. Ich gehe halt mal davon aus, dass dafür bereits ein PHP-Script existiert?

hewlett 25.01.2006 13:42

@satan:

das mit dem aufruf der hauptseite und dem anschließenden löschen war auch meine idee, aber das muss doch besser gehen!

helios 25.01.2006 14:51

du kannst einen mysql batch job der die alten termine löscht mittels cron oder windows scheduler oder was immer (z.b jeden tag um 00:05) starten
Code:

mysql < meinscript.sql

Satan_666 25.01.2006 15:25

Zitat:

Original geschrieben von helios
du kannst einen mysql batch job der die alten termine löscht mittels cron oder windows scheduler oder was immer (z.b jeden tag um 00:05) starten
Code:

mysql < meinscript.sql

Und was, wenn die MySQL-Datenbank auf einem Webserver liegt?

T.dot 25.01.2006 16:18

Webhoster fragen, ob du einen CronJob einrichten darfst (bei manchen Providern/Angeboten ist das dabei).

mfg Thomas

jak 25.01.2006 17:31

Zitat:

Original geschrieben von hewlett
das is mir schon klar wie man was aus einer tabelle löscht, mir gehts darum das das automatisch geschieht.

z.b.:
Termin am 22.01.06

Heute ist aber schon der 25.01, also soll der Termin automatisch aus der DB gelöscht werden.

Kann man sowas mit Trigger lösen? Gibts sowas in MySQL?

Du könntest doch einfach bei jedem Aufruf des Terminkalenders als erstes ein DELETE FROM ... WHERE datum < NOW(); absetzen und damit die alten Termine rauslöschen. Noch eleganter wäre es das ganze nur einmal pro Tag zu machen (indem man irgendwo speichert wann das letzte mal gelöscht wurde).

jak

hewlett 25.01.2006 18:29

Zitat:

Original geschrieben von jak
Du könntest doch einfach bei jedem Aufruf des Terminkalenders als erstes ein DELETE FROM ... WHERE datum < NOW(); absetzen und damit die alten Termine rauslöschen. Noch eleganter wäre es das ganze nur einmal pro Tag zu machen (indem man irgendwo speichert wann das letzte mal gelöscht wurde).

jak

werds jetzt eh so machen!


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:05 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag