Sponsor-Board.de

Normale Version: SQL Datenlöschen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Moin,
Ich bin grade dabei eine GW-Box zu schreiben.
Nun habe ich ein kleines Problem...
Ich habe eine Liste von Dateneinträgen:

[Link: Registrierung erforderlich]

So jetzt hab ich sie ausgewählt wie man sehen kann. Jetzt kommen wir zu meinen Problem... in einem Formular methode Post passt ja normal nur ein Wert... wie bekomme ich dort alle rein?

Mein Input:

PHP-Code:
<input type="checkbox" name="liste" value="'.$row->id.'" /> 

So einfach wie du es jetzt hier erklärst wird es nicht gehen. Da du im Topic schreibst SQL musst du es ja schon mit PHP machen. Musst dann mit "Hidden" arbeiten und auf die Variable verweisen das die Markierten (IDs) aus der Datenbank gelöscht werden sollen, sollte mit "DELETE FROM" definiert werden. Das ganze darf er natürlich erst ausführen wenn man auf "löschen" klickt.

Hoffe ich konnte dir den Sprung zum Ziel etwas erleichtern.
Nicht ganz...
Klar ist mir schon das es in PHP muss und das ich das Formular erst abschicken muss...
Es geht mir um die übergabe der IDs aus der Liste...

$_POST['liste'] kann ja maximal einen Wert tragen, so wie ich es jetzt geschrieben habe...

Nur wie bekomme ich alle IDs übergeben nicht nur die letzte?

Kiwie schrieb:
So jetzt hab ich sie ausgewählt wie man sehen kann. Jetzt kommen wir zu meinen Problem... in einem Formular methode Post passt ja normal nur ein Wert... wie bekomme ich dort alle rein?

Mein Input:

PHP-Code:
<input type="checkbox" name="liste" value="'.$row->id.'" /> 


Die Frage ist ein bisschen schwer zu verstehen, soweit ich sie jedoch verstehe mit einer while Schleife?!

Oder wie meinst du das?

Ich kann dir die lösung nachher geben wenn ich wieder daheim bin. Hab dieses feature auch in meinem Teamspeak backend eingebaut Wink
Naja Leute hier ist es nicht einfach DELETE FROm ... WHERE. Hier muss erst das Formulkar per POST übergeben werden und ein array muss in eine Schleife gebaut werden (mehrere Checboxen). Frag mich jetzt grade bitte nicht wies geht. Bin gerade erst aufgestanden. Storage-Base wirds regeln Wink
HTML Code:

Code:
<input type="checkbox" name="liste[]" id="liste" value="'.$row->id.'" />


PHP Code:

PHP-Code:
    foreach($_POST['liste'] as $key => $val) {

mysql_query("DELETE FROM `table` WHERE `id` = '$val'");



Ich bin dann bei mir noch hingegangen, habe die ausgewählten bzw. das Array gezählt, dann mit zählen lassen wie viel ausgeführt wurde, dann kannst du noch ein if schreiben welches fragt ob == 0, dann wurde nichts ausgeführt, ob != 0, dann wurde mindestens eine Abfrage ausgeführt bzw. == $count, dann wurden alle ausgeführt.

Das was du hier machst ist einfach ein Array beim übergeben erstellen, in welches sich dann alle ID's eintragen und so auslesen und verarbeiten lassen.

Danke! Funktionier super

PHP-Code:
$query "DELETE FROM xxx WHERE id IN (".implode(","$_POST["liste"]).")"


Nur als Tipp am rande.
Arbeite so, dass du Code und Template trennst ..
Das kann dir später SEHR VIEL helfen Wink

Referenz-URLs