power-box.de
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 09.01.2004, 13:55   #1
TP-Member
 
Registriert seit: Jan 2002
scooter macht alles soweit korrekt

Mehrere Datensätze nach Auswahl löschen?


Hallo,

ich hätte gerne, dass meine User aus einer Liste von Datensätzen per Checkbox mehrere markieren und dann löschen können.
Die Ausgabe der Liste mit den Checkboxen ist gar kein Thema, aber irgendwie fehlt mir gerade der Weg, wie ich der Datenbank sage, welche Datensätze gelöscht werden sollen.

Meine Checkbox sieht so aus:
<input type=\"checkbox\" name=\"delid[$x]\" value=\"$id\">

Was auch nicht funktioniert ist die Übergabe des Array $delid an die nächste Seite next.php, obwohl ich es mit serialize und unserialize umgewandelt habe.

Ich weiss nicht, wie ich mir merke, welche Checkbos ist "checked" und welche ID des Datensatzes hatte sie.
Wahrscheinlich ist das alles ziemlich einfach, nur komme ich nicht darauf.

Hat jemand eine Idee?


Vielen Dank!!!!

Scooter
scooter ist offline   Mit Zitat antworten


Alt 09.01.2004, 14:15   #2
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
serialize und deserialize brauchst du hierbei nicht.
Die abgehakten Checkboxen findest du im Array $_POST['delid'] wieder:
PHP-Code:
print_r($_POST['delid']); 
Gruss
Jan
Stuck Mojo ist offline   Mit Zitat antworten
Alt 09.01.2004, 15:35   #3
TP-Insider
 
Benutzerbild von HoRnominatoR
 
Registriert seit: Dec 2003
Ort: nienburg (raum hannover)
HoRnominatoR ist auf einem guten Weg
wenn du ne checkbox hast (zB name="delete_id") dann wird dessen value (zB value="13") eubergeben. das kannst du dann einfach per $_POST['delete_id'] auslesen und weiterverarbeiten.

was zum delete

http://tut.php-q.net/mysql-delete.html
__________________
in eile kam er,
in schwarzem gewand,
aus den tiefen des waldes,
ein einsamer mann, ein geschoepf der freiheit,
ein geschoepf ohne furcht,
doch alle nannten sie ihn nur T O D
HoRnominatoR ist offline   Mit Zitat antworten
Alt 10.01.2004, 18:06   #4
TP-Member
 
Registriert seit: Jan 2002
scooter macht alles soweit korrekt
Hi,

das mit dem $_POST['delid'] funktioniert prima.

Danke!

Allerdings habe ich jetzt noch eine zusätzliche Abfrage eingebaut, ob wirklich alles gelöscht werden soll.
Wie gebe ich die mein Array $delid nun nocheinmal weiter?


Danke!
Scooter
scooter ist offline   Mit Zitat antworten
Alt 10.01.2004, 18:39   #5
TP-Specialist
 
Benutzerbild von theo
 
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
theo bringt sich richtig ein
wie kommst du denn zu der abfrage? per post mit einem weiteren form? dann leg das array in ein hidden-feld und gib es beim submit des formulars mit.

gruss
hardy
theo ist offline   Mit Zitat antworten
Alt 10.01.2004, 19:08   #6
TP-Member
 
Registriert seit: Jan 2002
scooter macht alles soweit korrekt
Ja, mit einem weiteren <form>.
Habe schon ein Feld eingebaut, aber da stimmt bestimmt was nicht...

<input type=\"hidden\" name=\"delid\" value=\"$delid\">

Müssen da noch []-Klammern hin beim value?


Danke!

Gruß
Scooter
scooter ist offline   Mit Zitat antworten
Alt 10.01.2004, 19:11   #7
TP-Specialist
 
Benutzerbild von theo
 
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
theo bringt sich richtig ein
value=\"$_POST[delid]\"
theo ist offline   Mit Zitat antworten
Alt 10.01.2004, 19:20   #8
TP-Member
 
Registriert seit: Jan 2002
scooter macht alles soweit korrekt
Ok, schonmal keine Fehlermeldung.
Aber wie greife ich dann auf das Array zu?
$_POST['delid'] geht dann nicht mehr, und $delid[1.....10] geht auch nicht.
scooter ist offline   Mit Zitat antworten
Alt 10.01.2004, 19:29   #9
TP-Specialist
 
Benutzerbild von theo
 
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
theo bringt sich richtig ein
als for-schleife
PHP-Code:
// anzahl der elemente im array
$count count($_POST[delid]);
$delid $_POST[delid];
for(
$i 0$i $count$i++) {
print 
$delid[$i];

oder einfacher
PHP-Code:
foreach($_POST[delid] as $loeschen) {
print 
$loeschen."<br>";

einer dieser moeglichkeiten musst du dann einfach nur noch anpassen.
theo ist offline   Mit Zitat antworten
Alt 10.01.2004, 19:39   #10
TP-Member
 
Registriert seit: Jan 2002
scooter macht alles soweit korrekt
Habe ich versucht.
Fehlermeldung bei foreach():

Warning: Invalid argument supplied for foreach() in ....

Wenn ich es per for_schleife mache, gibt er mir einzeln "ARRAY" aus.
scooter ist offline   Mit Zitat antworten
Alt 10.01.2004, 22:45   #11
TP-Specialist
 
Benutzerbild von theo
 
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
theo bringt sich richtig ein
jo, jo, jo man,

ist ja auch klar!
deine checkboxen haben eine laufende nummer. und dein array besteht aus lauter einzelnen arrays, in denen die werte liegen. also jeder wert in einem eigenen array (jan und mike moegen mir vergeben, falls ich was dummes gesagt habe ).

damit dein script funzen soll, dann lass die variable $x in der checkbox-zeile raus.
PHP-Code:
<input type="checkbox\" name=\"delid[]\" value=\"$id\"> 
alles klar?!

oder probiere es so (was echt umstaendlich waere):
PHP-Code:
foreach($_POST[delid] as $loeschen) {
print 
$loeschen[0]."<br>";

hardy
theo ist offline   Mit Zitat antworten
Alt 10.01.2004, 23:38   #12
TP-Member
 
Registriert seit: Jan 2002
scooter macht alles soweit korrekt
Ich habe das $x jetzt weg gelassen, aber die Fehlermeldung ist immer noch die selbe....
scooter ist offline   Mit Zitat antworten
Alt 11.01.2004, 13:12   #13
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
mmmhh... also Theos Theorie ist schon richtig... nur die Umsetzung passt nicht ganz (zumindest eine Lösung von mehreren). Man kann kein Array in einem einzelnen hidden-Feld übergeben.
Du musst für jedes Element im Array ein eigenes Hidden-Field machen.
PHP-Code:
foreach($_POST['delid'] AS $k => $v) {
    echo 
'<input type="hidden" name="delid['.$k.']" value="'.$v.'">';

Gruss
Jan
Stuck Mojo ist offline   Mit Zitat antworten
Alt 11.01.2004, 13:44   #14
TP-Member
 
Registriert seit: Jan 2002
scooter macht alles soweit korrekt
Genau das wars!

Vielen Dank!!!

Jetzt funktioniert alles!



Gruß
Scooter
scooter ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
Mehrere Datensätze nach Auswahl löschen? Mehrere Datensätze nach Auswahl löschen?
« create table problem | benötige hilfe bei query »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:55 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67