hallöchen!
1. teil (erklärung):
es werden alle datensätze gezählt von einem nutzer. es sollen max. 15 datensätze pro nutzer vorhanden sein.
d.h. in meinem beispiel sind es aber 21 datensätze.
darum ermittle ich die summe der datensätze, die zuviel sind.
diese anzahl wird in die variable $Menge geschrieben.
das klappt alles soweit!
2. Teil:
jetzt sollen die datensätze die zuviel sind, gelöscht werden, was aber nicht passiert.
so klappt es, aber dann löscht er mir ja alle datensätze, auch die 15 stück die übrig bleiben sollen (was ja logisch ist bei dem code), also scheidet diese möglichkeit aus.
wenn ich den code aber erweitere mit ORDER und LIMIT funktioniert nichts mehr und es kommt nur die fehlermeldung "fehler beim löschen"!
ich habe schon im forum gesucht und einiges getestet, aber nix klappt.
wo liegt der fehler?
Code:
$abfrage = "SELECT COUNT(ID) FROM besucher WHERE an = $UID"; $result = mysql_query($abfrage); $Anzahl = mysql_result($result,0); $Menge=$Anzahl-15; echo"$UID <br> $Menge <br>"; if($Anzahl>15) {mysql_query("DELETE FROM besucher WHERE an = $UID ORDER BY an DESC LIMIT $Menge") or die("Fehler beim Löschen");}
es werden alle datensätze gezählt von einem nutzer. es sollen max. 15 datensätze pro nutzer vorhanden sein.
d.h. in meinem beispiel sind es aber 21 datensätze.
darum ermittle ich die summe der datensätze, die zuviel sind.
diese anzahl wird in die variable $Menge geschrieben.
das klappt alles soweit!
2. Teil:
jetzt sollen die datensätze die zuviel sind, gelöscht werden, was aber nicht passiert.
so klappt es, aber dann löscht er mir ja alle datensätze, auch die 15 stück die übrig bleiben sollen (was ja logisch ist bei dem code), also scheidet diese möglichkeit aus.
Code:
mysql_query("DELETE FROM besucher WHERE an = $UID") or die("Fehler beim Löschen");
Code:
mysql_query("DELETE FROM besucher WHERE an = $UID ORDER BY an DESC LIMIT $Menge") or die("Fehler beim Löschen");
wo liegt der fehler?
Kommentar