Sponsor-Board.de
SQL Datenlöschen

+- Sponsor-Board.de (https://www.sponsor-board.de)
+-- Forum: Community (/forumdisplay.php?fid=56)
+--- Forum: Hilfe (/forumdisplay.php?fid=102)
+---- Forum: Scripting (/forumdisplay.php?fid=108)
+---- Thema: SQL Datenlöschen (/showthread.php?tid=17988)


SQL Datenlöschen - Kiwie - 29.10.2011 09:26

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.'" /> 




RE: SQL Datenlöschen - EvermoreE - 29.10.2011 09:40

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.


RE: SQL Datenlöschen - Kiwie - 29.10.2011 09:46

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?


RE: SQL Datenlöschen - Timoo - 29.10.2011 11:08

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?


RE: SQL Datenlöschen - Storage-Base.de - 29.10.2011 11:58

Ich kann dir die lösung nachher geben wenn ich wieder daheim bin. Hab dieses feature auch in meinem Teamspeak backend eingebaut Wink


RE: SQL Datenlöschen - DebianDEV - 29.10.2011 12:30

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


RE: SQL Datenlöschen - Storage-Base.de - 29.10.2011 12:55

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.


RE: SQL Datenlöschen - Kiwie - 29.10.2011 23:19

Danke! Funktionier super


RE: SQL Datenlöschen - Marvin91 - 30.10.2011 00:00

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