php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.01.2005, 13:07  
Gast
 
Beiträge: n/a
Standard Problem beim Datum überprüfen...!

Hi,
ich hab mal wieder nen ganz dummes Problem.
Ich möchte, dass in der Datenbank die eingetragenen Partys auf deren Datum hin überprüft werden und wenn dieses Datum vergangen ist, wird der Eintrag gelöscht. Das ganze funktioniert aber nicht so richtig...(http://www.basti-wehr.de/tester.php)! Er löscht immer nur das 1 Datum in der DB und macht nicht weiter...! Kann mir da einer helfen? Hier ist mal der Code und Danke im Vorraus...!

Code:
 ### Einlesen des aktuellen Datums ###
 $aktJahr = date("Y");
 $aktMonat = date("m");
 $aktTag = date("d");
 
 ### Verbinden mit der Datenbank ###
 $host = "********";
 $name = "********";
 $passwort = "********";
 $dbname = "********";
 $sql = mysql_connect($host, $name, $passwort);
 mysql_select_db($dbname);
 
 $anfrage = mysql_query( "SELECT id,titel,datum FROM `basti-wehr_party` ORDER BY datum" )
 or die ( "Konnte Party nicht anzeigen: ".mysql_error() );
					
 ### Überprüfen des Datums ###
 while ($datensatz = mysql_fetch_object($anfrage)){
 	$datum_gesplittet = explode ("-", $datensatz->datum);
 
 	if ($datum_gesplittet[0] < $aktJahr) {
		# DB-Eintrag wird gelöscht
		print "Der Eintrag vom $datensatz->datum wurde gelöscht (Jahr < aktuelles Jahr)
";
		break;
	}
	
	if ($datum_gesplittet[0] = $aktJahr) {
		if ($datum_gesplittet[1] < $aktMonat) {
			# DB-Eintrag wird gelöscht
			print "Der Eintrag vom $datensatz->datum wurde gelöscht (Monat < aktueller Monat)
";
			break;
		}

		if ($datum_gesplittet[1] = $aktMonat) {
			if ($datum_gesplittet[2] < $aktTag) {
				# DB-Eintrag wird gelöscht
				print "Der Eintrag vom $datensatz->datum wurde gelöscht (Tag < aktueller Tag)
";
				break;
			}
		}
	}
  
 }
 mysql_close($sql);
Gruß
Sebastian

Edit:
Ich glaub das liegt daran, dass ich das break gesetzt habe...da wird ja das ganze Programm abgebrochen. Gibt es eine andere Möglichkeit um wieder zum Anfang der While-Schleife zu springen...? So eine Art Ankerprunkte...unter Visual Basic geht das mit GoTo...!
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 25.01.2005, 13:14  
Gast
 
Beiträge: n/a
Standard

Warum willst du wieder an den Anfang der While-Schleife springen?
 
Alt 25.01.2005, 13:15  
Gast
 
Beiträge: n/a
Standard

mit continue kannst du zum Schleifenanfang springen, das sollte dein Problem lösen.

http://de2.php.net/continue
 
Alt 25.01.2005, 13:16  
Gast
 
Beiträge: n/a
Standard

Hi,
weil ja da noch mehr Einträge in der DB sind, die gelöscht werden sollen. So springt er komplett aus dem Script...! Verstehst du was ich meine...!
 
Alt 25.01.2005, 13:19  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von muth
So springt er komplett aus dem Script...! Verstehst du was ich meine...!
Nur mühsam.

Wenn Du das nicht willst, wieso verwendest Du dann break?
 
Alt 25.01.2005, 13:19  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von muth
Hi,
weil ja da noch mehr Einträge in der DB sind, die gelöscht werden sollen. So springt er komplett aus dem Script...! Verstehst du was ich meine...!
Tja dann dorthin ein continue wo immer du es brauchst, oder einfach die break's weglassen. Denn wozu break wenn es eh weitergehen soll?
 
Alt 25.01.2005, 13:22  
Gast
 
Beiträge: n/a
Standard

Weil ansonsten das passiert:
Code:
Der Eintrag vom 0000-00-00 wurde gelöscht (Jahr < aktuelles Jahr)
Der Eintrag vom 2005-01-22 wurde gelöscht (Tag < aktueller Tag)
Der Eintrag vom 2005-01-22 wurde gelöscht (Tag < aktueller Tag)
Der Eintrag vom 2005-02-03 wurde gelöscht (Tag < aktueller Tag)
Der Eintrag vom 2005-02-05 wurde gelöscht (Tag < aktueller Tag)
Der Eintrag vom 2005-02-05 wurde gelöscht (Tag < aktueller Tag)
Der Eintrag vom 2005-02-06 wurde gelöscht (Tag < aktueller Tag)
Der Eintrag vom 2005-02-07 wurde gelöscht (Tag < aktueller Tag)
Der Eintrag vom 2005-02-07 wurde gelöscht (Tag < aktueller Tag)
Der Eintrag vom 2005-02-18 wurde gelöscht (Tag < aktueller Tag)
Der Eintrag vom 2005-04-02 wurde gelöscht (Tag < aktueller Tag)
Der Eintrag vom 2005-07-09 wurde gelöscht (Tag < aktueller Tag)
Das macht er bei break und bei continue...! Leider...irgendwie versteht ich micht nicht. Wenn der Eintrag gelöscht wurde, soll er zum nächsten DB-Eintrag springen und den überprüfen und ggf. löschen...!
 
Alt 25.01.2005, 13:27  
Erfahrener Benutzer
 
Benutzerbild von JEGO
 
Registriert seit: 01.12.2003
Beiträge: 2.555
PHP-Kenntnisse:
Anfänger
JEGO wird schon bald berühmt werden
Standard

naja und was ist daran falsch???
Oder verstehe ich Bahnhof?
das ist doch das was dein script machen soll.
du musst doch nur noch die anweisung zum löschen in deine if anweisungen schreiben.
__________________
Gruß JEGO

Ein PHP Script tut, was Du schreibst, nicht was Du willst.
JEGO ist offline  
Alt 25.01.2005, 13:28  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von muth
Das macht er bei break und bei continue...! Leider...irgendwie versteht ich micht nicht.
Ich versteh Dich auch nicht. Dein Script schreibt zwar, daß es löscht, aber es tut nix dergleichen. Außerdem stopst Du die Schleife mit break, wenn eine der Bedingungen zutrifft.

Alles reichlich ominös...

17.7. Wie lösche ich alle Datensätze, die älter als n Tage sind?
http://www.php-faq.de/q/q-mysql-loeschen.html

SQL String anpassen und fertig.
 
Alt 25.01.2005, 13:32  
Gast
 
Beiträge: n/a
Standard

Ich weiß, dass ich da noch die MySQL Anweisungen reinschreiben muss - so blöd bin ich auch wieder nich...! Es geht daraum, dass auch der Eintrag vom 09.07.2004 gelöscht wird, obwohl er noch nicht "vergangen" ist...!

@meikel
Ich schau mir den Link mal an...schonmal Danke...!

Gruß
Sebastian
 
 


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Timestamp problem phrain PHP Tipps 2008 2 04.04.2008 09:41
PHP: Kompliziertes Problem mit Datum nicobischof PHP-Fortgeschrittene 3 07.01.2008 10:05
Daten aus MYSQL nach Datum filtern Datenbanken 3 19.09.2005 16:09
SELECT Problem djma PHP Tipps 2005-2 5 04.09.2005 09:06
Problem beim Sortieren Datenbanken 2 03.09.2005 21:47
[Erledigt] Datum vergleichen PHP Tipps 2005-2 1 03.09.2005 16:55
[Erledigt] Mysql + PHP und Datum Problem Datenbanken 11 31.08.2005 12:08
Noch immer Pobleme mit dem Datum PHP Tipps 2005 2 16.01.2005 15:32
Datum Problem PHP Tipps 2005 2 15.01.2005 14:34
Problem mit Datum PHP Tipps 2004 2 15.10.2004 11:04
Problem mit Datum Mutatos PHP-Fortgeschrittene 4 12.10.2004 13:23
mysql - datum - problem Datenbanken 1 22.09.2004 11:47
Vergleich, ob ein Datum mit Uhrzeit vor anderem liegt PHP-Fortgeschrittene 2 14.09.2004 15:27
Problem mit Datum ?! Datenbanken 21 04.08.2004 16:35
Problem mit datum PHP Tipps 2004 8 26.07.2004 09:53

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php datum soll weiter springen, php datum überprüfen, php datum prüfen und an db geben, datum überprüfen php, datum script prüfen, php zum schleifenanfang springen

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:16 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.