[php] Delete Button der einen eintrag in SQl löscht

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/php_delete_button_der_einen_eintrag_in_sql_loescht_95091/page_1 - zur Vollversion wechseln!


x3 schrieb am 09.10.2003 um 08:00

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!


mg_shadow schrieb am 09.10.2003 um 08:10

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 schrieb am 09.10.2003 um 08:12

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 schrieb am 09.10.2003 um 08:29

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') "; 

und wenn ich dann den prim hab, wie kann ichd dann die links(buttons) automatisch mitzählen lassen?


mg_shadow schrieb am 09.10.2003 um 08:42

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 schrieb am 09.10.2003 um 08:59

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 ;)


x3 schrieb am 09.10.2003 um 09:41

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:

Code:
$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?


x3 schrieb am 09.10.2003 um 11:33

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]'";


mg_shadow schrieb am 09.10.2003 um 12:27

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 schrieb am 09.10.2003 um 13:28

funkt thx
hatte zwar dann noch selber einen kleinen denkfehler aber nun funkts,
thx 4 help


mat schrieb am 09.10.2003 um 13:33

$_GET['$tmp[nr]'] sollte $_GET['id'] sein :)

edit: muaha.. jetzt hast das problem einfach aus dem post gelöscht.. das is gemein :D damit is ja mein post auch unnötig :(


x3 schrieb am 09.10.2003 um 13:39

Zitat von mat
edit: muaha.. jetzt hast das problem einfach aus dem post gelöscht.. das is gemein :D damit is ja mein post auch unnötig :(

:D
ja das war der kleine denkfehler von mir! ;)


mat schrieb am 09.10.2003 um 13:43

solved plz




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025