PHP Tracklist - Anzahl der Tracks begrenzen

@Midge
1) Wenn die DB etwas taugt, dann hat es eine ID mit autoincrement-Wert.
2) Zuerst ein Select und dann ev. ein Delete -> schlechte Performance da 2 DB-Zugriffe notwendig sind Sind weniger al 50 Zeilen vorhanden, dann löscht mein Beispiel auch nix und gibt keine Fehlermeldung zurück.

Zudem ist mein Ding ein Testbeispiel. Auf seine Bedürfnisse umwandeln darf er selber.
 
Hallo yaslaw ...

@Midge
1) Wenn die DB etwas taugt, dann hat es eine ID mit autoincrement-Wert.
Die Frage ist ja noch offen.. ;)

2) Zuerst ein Select und dann ev. ein Delete -> schlechte Performance da 2 DB-Zugriffe notwendig sind Sind weniger al 50 Zeilen vorhanden, dann löscht mein Beispiel auch nix und gibt keine Fehlermeldung zurück.

Zudem ist mein Ding ein Testbeispiel. Auf seine Bedürfnisse umwandeln darf er selber.

Ja, kann ich durchaus nachvollziehen, aber bei diesem kleinen Script, muss man wahrscheinlich weniger auf die Performance achten und sollte hingegen die grundlegende Nachvollziehbarkeit (das Verstehen) und das "Drumherum" in den Vordergrund stellen.
 
Hallo ihr beiden ;)

erstmal VIELEN DANK für eure Bemühungen =)

@Midge: Zu deinen Fragen:
1.) meine DB besitzt eine spalte für ID (mit autoincrement + primärschlüssel).
2.) Das mit dem Timestamp hab ich leider bisher nie verstanden, wie das funktioniert...daher hab ichs mir einfach gemacht und date + time verwendet ;D
3.)Diese Datei wird nur einem Admin angezeigt...es sollen ja nur bestimmte leute tracks eintragen können^^

@yaslaw: du bist mal wie immer der absolute HAMMER!! Es läuft xD

hier der code, mit dem es läuft wie gewünscht ;)
PHP:
$sql = "INSERT INTO tracklist
			(
			date, time, author, title, sendung, von
			) VALUES (
			'". mysql_escape_string($date) ."',
			'". mysql_escape_string($time) ."',
			'". mysql_escape_string($author) ."',
			'". mysql_escape_string($title) ."',
			'". mysql_escape_string($sendung) ."',
			'". mysql_escape_string($von) ."'
			)";

			// SQL-Anweisung an die DB schicken und im Fehlerfall eine Meldung ausgeben.
			$res = mysql_query($sql) or exit( __LINE__.', '.__FILE__.'<br />' .mysql_error());
		
		$sqldelete ="DELETE tracklist
					FROM 
						tracklist
					INNER JOIN (
						SELECT id
						FROM tracklist
						ORDER BY id DESC
						LIMIT 50,99999
					) AS sel
					ON tracklist.id = sel.id 
		";

Vielen Dank für eure super hilfe =)
Ihr wart mal wieder super ;)

LG Zneaf
 
Zurück