[php] Delete Button der einen eintrag in SQl löscht
x3 09.10.2003 - 08:00 1459 12
x3
† 18.03.2006
|
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!
Bearbeitet von x3 am 09.10.2003, 13:38
|
mg_shadow
live and die in starlight
|
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!
|
Maehmann
OC Addicted
|
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 ...
|
x3
† 18.03.2006
|
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 $sql = " INSERT INTO anmeldung VALUES ('hier ist der primär schlüssel', '$clan', '$nick', '$vorname', '$plz', '$ort', '<a href=\'mailto:$mail\'>Mail</a>', '$icq') ";
und wenn ich dann den prim hab, wie kann ichd dann die links(buttons) automatisch mitzählen lassen?
|
mg_shadow
live and die in starlight
|
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!
|
x3
† 18.03.2006
|
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
Bearbeitet von x3 am 09.10.2003, 09:25
|
x3
† 18.03.2006
|
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: $result = mysql_query("delete from anmeldung where nr='$tmp[id]'");
und geht auch nicht er löscht den datensatz einfach nicht kann es sein das er die $tmp[id] nicht rueber zieht?
Bearbeitet von x3 am 09.10.2003, 10:55
|
x3
† 18.03.2006
|
habe festgestellt das er den wert nicht übergibt was muss ich machen damit er das macht? zz ists so: <a href='delete.php?id=$tmp[nr]'>löschen</a>
und
$sql= "delete from anmeldung where nr='$tmp[nr]'";
|
mg_shadow
live and die in starlight
|
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'";
|
x3
† 18.03.2006
|
funkt thx hatte zwar dann noch selber einen kleinen denkfehler aber nun funkts, thx 4 help
Bearbeitet von x3 am 09.10.2003, 13:31
|
mat
AdministratorLegends never die
|
$_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
|
x3
† 18.03.2006
|
|
mat
AdministratorLegends never die
|
solved plz
|