Problem mit löschen nach bestimmter Zeit

Rollo

Erfahrenes Mitglied
Hallo alle zusammen.
Ich habe vor auf meine Startseite (Seite einer Band) immer den nächsten Auftritt anzeigen zu lassen. Das funktioniert auch super. Nur habe ich das Problem beim löschen des Datensatzes nach diesem Datum.

In meiner MySQL Tabelle habe ich eine Spalte namens Datum_02 in der das Datum des Auftrittes gespeichert ist. Nun dachte ich das es eigentlich ganz simple ist. Indem ich die derzeitige Zeit ermittel und dann mit Datum_02 vergleiche und dann jeweils die Datensätze gelöscht werden.

Nungut hier mein Quelltext. Überflüssiges habe ich heraus gelassen.

PHP:
<?php
error_reporting(E_ALL);
include "mysql.php";

@mysql_connect($HOST, $USER, $PASS) OR die("Die Verbindung konnte nicht hergestellt werden! Fehlermeldung: ".mysql_error());
	mysql_select_db($DB) OR die("Konnte Datenbank nicht finden! Fehlermeldung: ".mysql_error());
	
	$sql="	SELECT
			*
		FROM
			Events
		ORDER BY
			ID ASC LIMIT 1;";

	$result= mysql_query($sql) OR die("Der Daten satz konnte nicht gefunden werden! Fehlermeldung: ".mysql_error());


	$sql2="	DELETE FROM
			Events
		WHERE
			Datum_02 < '.time().'";      
	
	$result2 = mysql_query($sql2);

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
<head>

......

</head>
<body>
.....
<?php 
if(mysql_num_rows($result)){
	while($row=mysql_fetch_assoc($result)) { 
	echo "	<b>".$row['Wann']."</b><br />\n";
	echo "	".$row['Wo']."\n";
	}
}
else{
	echo "	Keine Events in n&auml;chster Zeit.\n";
}

?>
	....
</body>
</html>

Ich danke euch schon mal im Voraus.

MfG
Rollo
 
Da scheint wirklich der Fehler zu stecken.
Da ich in der MySQL Tabelle das Datum für Datum_02 mit datetime angegeben hatte dachte ich ich könnte das einfach auslesen und mit time() vergleichen.
Aber Datum_02 hat keinen timestamp(). Wie bekomme ich das hin das es einen hat ?
 
Dann probiers doch mal so:
PHP:
$sql2="DELETE 
          FROM Events 
          WHERE Datum_02 < '".date("Y-m-d H:i:s",time())."'";

Bin jetzt allerdings in der Formatierung nicht ganz sicher - also evtl nochmal prüfen.
 
Zurück