Hallo allerseits,
folgendes Problem:
Mein System: WAMP
Ich habe ein Benutzerliste als Formular. In jeder Zeile ist ein Benutzer mit seinem Vor-, Nach-, Benutzername uws. aufgelistet. (Wird natürlich dynamisch aus MySQL generiert). Am Ende jeder Zeile habe ich jeweils ein Checkbox zum Markieren des Datensatzes. Ich nutze diese checkboxen, um bestimmte Datensätze per Knopfdruck zu löschen - das kennt ihr ja - das löschen funktioniert auch wunderbar aber ich habe folgendes Problem:
Nun wollte ich, daß man nicht einfach DS durch 1x anklicken löschen kann, sondern der Benutzer soll nach dem Auswählen von DS und dem Anklicken vom Lösch-Knopf alle ausgewählten DS (mit Vor-, Nach-, Benutzername usw. (aber wirklich NUR die ausgewählten DS) noch einmal auf einer Bestätigungsseite aufgelistet bekommen. Erst dann soll es möglich sein die DS per nochmaligem betätigen vom Löschknopf zu löschen. Die Bestätigunsseite ist auch schon fertig, aber folgendes:
Wenn die Liste 100 DS beinhaltet und ich z.B. 4 DS per checkbox auswähle (egal, ob die letzten 4 oder von der Mitte oder auch gemischt)
und löschknopf anklicke, werden mir zwar 4 DS auf der Bestätigungsseite angezeigt, aber die ersten 4 DS aus der Liste, die ich überhaupt nicht ausgewählt hatte. Gelöscht werden aber trotzdem die 4 von mir ausgewählten DS. Das Problem habe ich auch (denke ich ) erkannt und zwar beim Abschicken von Formulardaten werden nur die markierten checkboxen übertragen aber alle Textfelder!! Und meine FOR-Schleife läuft dann zwar 4x, da
Gibt es da eine Möglichkeit, die zu übertragene Textfelder mit den checkboxen zu verbinden, so daß die nur die Textfelder abgeschickt werden, deren checkboxen markiert sind?
Im Moment fällt mir nur eine Lösung und zwar, daß man eine neue SQL-Abfrage dafür einbaut und als Parameter die ID des Datensatzes, die ich beim generieren des Formulars als Wert für die checkboxen übergebe. - Finde allerdings etwas unschön.
Danke vorab
Viele Grüße
Otto
folgendes Problem:
Mein System: WAMP
Ich habe ein Benutzerliste als Formular. In jeder Zeile ist ein Benutzer mit seinem Vor-, Nach-, Benutzername uws. aufgelistet. (Wird natürlich dynamisch aus MySQL generiert). Am Ende jeder Zeile habe ich jeweils ein Checkbox zum Markieren des Datensatzes. Ich nutze diese checkboxen, um bestimmte Datensätze per Knopfdruck zu löschen - das kennt ihr ja - das löschen funktioniert auch wunderbar aber ich habe folgendes Problem:
Nun wollte ich, daß man nicht einfach DS durch 1x anklicken löschen kann, sondern der Benutzer soll nach dem Auswählen von DS und dem Anklicken vom Lösch-Knopf alle ausgewählten DS (mit Vor-, Nach-, Benutzername usw. (aber wirklich NUR die ausgewählten DS) noch einmal auf einer Bestätigungsseite aufgelistet bekommen. Erst dann soll es möglich sein die DS per nochmaligem betätigen vom Löschknopf zu löschen. Die Bestätigunsseite ist auch schon fertig, aber folgendes:
Wenn die Liste 100 DS beinhaltet und ich z.B. 4 DS per checkbox auswähle (egal, ob die letzten 4 oder von der Mitte oder auch gemischt)
und löschknopf anklicke, werden mir zwar 4 DS auf der Bestätigungsseite angezeigt, aber die ersten 4 DS aus der Liste, die ich überhaupt nicht ausgewählt hatte. Gelöscht werden aber trotzdem die 4 von mir ausgewählten DS. Das Problem habe ich auch (denke ich ) erkannt und zwar beim Abschicken von Formulardaten werden nur die markierten checkboxen übertragen aber alle Textfelder!! Und meine FOR-Schleife läuft dann zwar 4x, da
PHP-Code:
...........
......................
echo
{"
<tr>
<td><form name=\"Formular\" method=post
action=\"ProfAktionen.php\">$NR</td>
<td>$ID</td>
<td>$BENUTZERNAME<input name=\"BENUTZERNAME[]\" type=hidden
value=$BENUTZERNAME></td>
<td>$VORNAME<input name=\"VORNAME[]\" type=hidden
value=$VORNAME></td>
<td>$NACHNAME<input name=\"NACHNAME[]\" type=hidden
value=$NACHNAME></td>
<td>$BENUTZERGRUPPE</td>
<td><input name=\"Auswahl[]\" type=checkbox value=$ID>
</tr>
");
...............
........................
..........
$Auswahl = $_REQUEST['Auswahl'];
for ($i = 0; $i < count($Auswahl); $i++)
{
$x = $Auswahl[$i];
echo
("
<tr>
<td>$Auswahl[$i] - $BENUTZERNAME[$i]</td>
<td>$VORNAME[$i] $NACHNAME[$i]</td>
</tr>
");
}
Im Moment fällt mir nur eine Lösung und zwar, daß man eine neue SQL-Abfrage dafür einbaut und als Parameter die ID des Datensatzes, die ich beim generieren des Formulars als Wert für die checkboxen übergebe. - Finde allerdings etwas unschön.
Danke vorab
Viele Grüße
Otto
Kommentar