"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

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

x3 09.10.2003 - 08:00 1289 12
Posts

x3

† 18.03.2006
Avatar
Registered: Jan 2003
Location: lnz/(hgb)
Posts: 1480
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
Avatar
Registered: Aug 2001
Location: A, ST, Bez. Weiz
Posts: 964
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
Avatar
Registered: Aug 2002
Location: Vienna
Posts: 1110
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
Avatar
Registered: Jan 2003
Location: lnz/(hgb)
Posts: 1480
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

live and die in starlight
Avatar
Registered: Aug 2001
Location: A, ST, Bez. Weiz
Posts: 964
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
Avatar
Registered: Jan 2003
Location: lnz/(hgb)
Posts: 1480
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
Avatar
Registered: Jan 2003
Location: lnz/(hgb)
Posts: 1480
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?
Bearbeitet von x3 am 09.10.2003, 10:55

x3

† 18.03.2006
Avatar
Registered: Jan 2003
Location: lnz/(hgb)
Posts: 1480
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

live and die in starlight
Avatar
Registered: Aug 2001
Location: A, ST, Bez. Weiz
Posts: 964
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
Avatar
Registered: Jan 2003
Location: lnz/(hgb)
Posts: 1480
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

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25381
$_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

† 18.03.2006
Avatar
Registered: Jan 2003
Location: lnz/(hgb)
Posts: 1480
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

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25381
solved plz
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz