URL: https://www.overclockers.at/coding-stuff/php_delete_button_der_einen_eintrag_in_sql_loescht_95091/page_1 - zur Vollversion wechseln!
Also ich stell mir das so vor:
Ich hab da eine Tabelle, mit lauter daten von usern, und ich mache gerade einen admin berich, da möchte ich auch einen delete button hinzufügen!
Also so eine extra spalte in der Tabelle (hinten dran oder so) und die dann mit lauter delete buttons, links versehen!
so nur wie mach ich das nun, ich muss das irgenwie beim seitenaufbau automatisch mitschreiben lassen, oder?
nur wie!
btw ich habe in meine sql tabelle keinen priemärschlüssel, oder irgendeine nummerierung!
ich würd einen primärschlüssel einbauen! ist viel einfacher!
dann brauchst du auf jeden button nur einen link setzten, wo du im dann in einem php script eine delete anweisung ausführst!
hmmm ... eine db ohne db primärschlüssel ... wie identifizierst du einen datensatz eindeutig? Über einen unique username? ...
dann musst halt entweder ein formular machen mit einem hiddenfield in das du dann einen eindeutigen wert für den Datensatz reinschreibst ... anhand dieses werts kannst du dann mittels WHERE den datensatz löschen ...
oder du machst einen Link und hängst den wert an die URL ...
in beiden fällen, würd ich allerdings vor dem löschen kontrollieren, ob der user überhaupt das Recht hat einen Datensatz zu löschen ...
mit einem auto increment field wär das easy einfach die die id reinschreiben ...
also
das geht ja nur im admin berich
also können es sowiso nur die machen die das psw für den admin bereich haben!
also ich wollte gerade einen primär schlüssel machen
nur da hab ich das problem
wenn sich ein user registriert, dann weis ich nicht wie ich die nummer des primärschlüssels raufzählen lassen soll!
also dann kommt beim user die meldung duplikation oder so from '1' zb!
zur zeit so
Code:$sql = " INSERT INTO anmeldung VALUES ('hier ist der primär schlüssel', '$clan', '$nick', '$vorname', '$plz', '$ort', '<a href=\'mailto:$mail\'>Mail</a>', '$icq') ";
du hast jetzt einen manuellen primärschlüssel!
erstelle ein neues feld, vom typ long integer und setzte das flag auto_increment!
dann brauchst du den schlüssel nicht selbst festlegen!
du machst dann einfach sowas:
<a href="delete.php?id=<?echo $id ?>">löschen</a>
( ich geh jetzt mal davon aus das du den wert des primärschlüssels in die variable id speicherst)
dann brauchst du im zweiten script (in der delete.php) nur irgend sowas wie:
$sql="delete * from anmeldung where id=$id"
(hier ist $id der übergebene werd aus dem querystring)
und dann brauchst du diesen sql befehlt nur mehr ausführen!
und wie weis er nun welche id er nehmen soll,
das ist mir noch nicht ganz klar
wie soll er das hier feststellen:
<a href="delete.php?id=<?echo $id ?>">löschen</a>
also muss ich doch wieder irgenwie was mitzählen, oder
a i dau
check scho, das mit den ids zumindest
naja da hab i jetzt aber ein prob, unzwar das, dass nicht ganz richtig ist wast du geschrieben hast den der link schaut nun so aus
delete.php?id=<?echo 6 ?>
und dass ist sicher nicht korrekt
edit2:
hat sich auch geklährt, so gehörts richtig:
<a href='delete.php?id=".$tmp[nr]."'>löschen</a>
so nun nur noch die delete.php richtig schreiben
hab sicher auch probleme damit
so hab das nun alles so hinbekommen!
er fürt nun auch den delete befehl aus, zumindest laut seite
aber er macht es nicht
er läst den eintrag einfach drin, ********* komisch
edit:
nun nehm ich das:
und geht auch nichtCode:$result = mysql_query("delete from anmeldung where nr='$tmp[id]'");
habe festgestellt das er den wert nicht übergibt
was muss ich machen damit er das macht?
zz ists so:
Code:<a href='delete.php?id=$tmp[nr]'>löschen</a> und $sql= "delete from anmeldung where nr='$tmp[nr]'";
in dem neuen script mußt du den querystring auslesen!
das heißt
<a href='delete.php?id=$tmp[nr]'>löschen</a>
und
$id=$_GET['id'];
$sql= "delete from anmeldung where nr='$id'";
funkt thx
hatte zwar dann noch selber einen kleinen denkfehler aber nun funkts,
thx 4 help
$_GET['$tmp[nr]'] sollte $_GET['id'] sein
edit: muaha.. jetzt hast das problem einfach aus dem post gelöscht.. das is gemein damit is ja mein post auch unnötig
Zitat von matedit: muaha.. jetzt hast das problem einfach aus dem post gelöscht.. das is gemeindamit is ja mein post auch unnötig
solved plz
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025