php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.03.2008, 13:41  
Benutzer
 
Benutzerbild von Teela
 
Registriert seit: 23.03.2008
Beiträge: 30
PHP-Kenntnisse:
Anfänger
Teela befindet sich auf einem aufstrebenden Ast
Standard Termine nach Ablauf automatisch aus der DB löschen oder ausblenden

Hallo zusammen!

Ich habe auf meiner Website eine Art Terminkalender erstellt und möchte nun,
dass die Termine, wenn sie vorbei sind (also ab einem Tag danach),
nicht mehr angezeigt werden.

Da ich absolut keine Lust habe, sie immer manuell aus der Datenbank zu löschen,
suche ich nun einen Weg, dies automatisch zu machen.

1. Möglichkeit: Die Termine automatisch aus der Datenbank löschen zu lassen
Ich weiß nicht, ob das möglich ist, aber wenn ja, wäre es mir am liebsten so.

2. Möglichkeit: Die Termine bei der Ausgabe einfach nicht anzeigen lassen,
Wenn 1. nicht geht, wäre das wohl die einzige Alternative,
allerdings weiß ich da auch nicht, wie ich die Abfrage formulieren muss.

Die Termine sind bei mir im Datumsformat YYYY-MM-DD in der Datenbank gespeichert (DATE-Feld).

Hoffe, mir kann da jemand weiterhelfen.

MfG
Teela

PS: Ich hab zwar schon ein Thema gefunden, wo es um etwas ähnliches ging,
allerdings hat mir das nicht wirklich weitergeholfen...
Teela ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 23.03.2008, 13:53  
Erfahrener Benutzer
 
Benutzerbild von Hu5eL
 
Registriert seit: 26.02.2008
Beiträge: 342
Hu5eL befindet sich auf einem aufstrebenden Ast
Hu5eL eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von Teela Beitrag anzeigen
Hallo zusammen!

Ich habe auf meiner Website eine Art Terminkalender erstellt und möchte nun,
dass die Termine, wenn sie vorbei sind (also ab einem Tag danach),
nicht mehr angezeigt werden.

Da ich absolut keine Lust habe, sie immer manuell aus der Datenbank zu löschen,
suche ich nun einen Weg, dies automatisch zu machen.

1. Möglichkeit: Die Termine automatisch aus der Datenbank löschen zu lassen
Ich weiß nicht, ob das möglich ist, aber wenn ja, wäre es mir am liebsten so.

2. Möglichkeit: Die Termine bei der Ausgabe einfach nicht anzeigen lassen,
Wenn 1. nicht geht, wäre das wohl die einzige Alternative,
allerdings weiß ich da auch nicht, wie ich die Abfrage formulieren muss.

Die Termine sind bei mir im Datumsformat YYYY-MM-DD in der Datenbank gespeichert (DATE-Feld).

Hoffe, mir kann da jemand weiterhelfen.

MfG
Teela

PS: Ich hab zwar schon ein Thema gefunden, wo es um etwas ähnliches ging,
allerdings hat mir das nicht wirklich weitergeholfen...
naja sollte doch net so schwer sein...
einfach alle eintäge aus der tabelle löschen die kleiner sind als:
PHP-Code:
mktime(000date("m")  , date("d"), date("Y")); 
Hu5eL ist offline  
Alt 23.03.2008, 18:02  
Erfahrener Benutzer
 
Registriert seit: 11.09.2007
Beiträge: 198
errox befindet sich auf einem aufstrebenden Ast
Standard

Es geht auch so : ^^

Du kannst doch eine Funktion schreiben, die am Start aufgerufen wird. Sie überprüft Alle DATE inhalte deiner Datenbank mit dem Aktuellen Datum. Ist das Aktuelle Datum größer, werden die jenigen einträge gelöscht.
Mach zuerst ein Jahr Check. Aktuelles Jahr 2008. DB einträge mit 2007 vorhanden -> Delete.
Aktueller Monat. 3. Einträge mit 1 / 2 vorhanden ->Delete
Aktueller Tag 23. alle einträge die einen niedrigeren Wert haben -> Delete.

Das konzept ist sehr einfach. Den Code musst du noch du schreiben.

Bei hilfe beim schreiben, melden ^^

Lg errox
errox ist offline  
Alt 23.03.2008, 18:13  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Das waren jetzt 2 Lösungsvorschläge getreu dem Motto: Warum einfach wenn's auch kompliziert geht

Da du das ganze schon in einem sinnvollen format in der Db abgelegt hast lässt sich das einiges einfacher lösen:

Nur die Einträge anzeigen die noch aktuell sind:
SELECT name, date FROM table WHERE date > NOW()

Oder die Einträge löschen die in der Vergangenheit liegen:
DELETE FROM table WHERE date < NOW()

Schau dir auch mal die MySQL Datums und Zeitfunktionen an:
MySQL :: MySQL 5.0 Reference Manual :: 11.6 Date and Time Functions
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 24.03.2008, 12:29  
Benutzer
 
Benutzerbild von Teela
 
Registriert seit: 23.03.2008
Beiträge: 30
PHP-Kenntnisse:
Anfänger
Teela befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von agrajag Beitrag anzeigen
Das waren jetzt 2 Lösungsvorschläge getreu dem Motto: Warum einfach wenn's auch kompliziert geht

Da du das ganze schon in einem sinnvollen format in der Db abgelegt hast lässt sich das einiges einfacher lösen:

Nur die Einträge anzeigen die noch aktuell sind:
SELECT name, date FROM table WHERE date > NOW()

Oder die Einträge löschen die in der Vergangenheit liegen:
DELETE FROM table WHERE date < NOW()
Echt super, genau so eine Lösung hatte ich gesucht.
Vielen Dank dafür, ich hätte echt nicht gedacht, dass das so einfach ist ^^"

Zitat:
Zitat von agrajag Beitrag anzeigen
Schau dir auch mal die MySQL Datums und Zeitfunktionen an:
MySQL :: MySQL 5.0 Reference Manual :: 11.6 Date and Time Functions
Werde ich auf jeden Fall machen ^^
Teela ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/php-tipps-2008/732-termine-nach-ablauf-automatisch-aus-der-db-loeschen-oder-ausblenden.html, termine automatisch löschen, php mysql news ausblenden wenn das datum nicht mehr aktuell ist, mysql datensatz automatisch löschen, werden kalendereinträge automatisch gelöscht, mysql - datensätze nach datum ausblenden, termine automatisch in datenbank eintragen php, mysql datensatz automatisch löschen nach datum, php daten aus datenbank nach datum löschen, mysql löschen wenn datum vergangenheit, datenbank eintrag nach termin löschen, mysql löschen nach datum, datensätze aus der datenbank löschen nach ablauf, einträge automatisch ausblenden mit mktime, einträge in db automatisch löschen, eintrag automatisch löschen aus db, automatisch eintrag löschen in db, mysql nach datum löschen, datensätze nach ablauf aus der datenbank löschen, datensätze nach ablauf automatisch aus der datenbank löschen

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:25 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum