Formular in WHILE-Schleife

Ruediger

Erfahrenes Mitglied
Hallo zusammen,

ich habe eine WHILE-Schleife in der ich alle User meiner DB auslese. Nun möchte ich gerne anhand eines SELECT-Felds bei jedem User den Status "Gast" oder "Volluser" einstellen können.

Das Problem ist jetzt, dass ich nicht hinter jeder DB-Zeile ein "Speichern" - Button machen will, sondern nur einmal am Ende.

Hat jemand eine IDee, wie ich das machen kann?

Danke für die Hilfe,
Rue.
 
Ja, das ist klar und nicht das Problem.

Es geht vielmehr darum, dass ich ein SELECT-Feld in jeder Zeile habe, das immer "Usermodus" heißt. Wenn ich jetzt einmal unten die Änderungen speicher, nimmt er mir ja nur die Variable "Usermodus" aus der letzten Zeile (also nur einmal) mit. Ich will aber zu jedem User

$user_id
und $usermodus_neu

rausbekommen.
 
Du könntest ja ( kleiner Gedankenfurz ) alle User IDs ( wenn du welche hast ) und den jeweiligen Status in ein Array speichern.
Wenn du auf "Senden" klickst werden alle Daten in dem jetzigen Formular in ein Array gespeichert und verglichen.
Wo Differenzen beim Status sind wird eine SQL Änderung durchgeführt.
 
Danke für deine schnelle Antwort,

in die Richtung wollte ich auch, kannst Du mir da nen kleinen Codeansatz sagen? SQL-Abgleich ist klar, aber der Rest mit dem Array? :(
 
PHP:
$ids=array();
$i=0;
while( $row = mysql_fetch_row ){
       $ids[$i]=$row->id;
       $i++;
}
und schon hast du alle IDs in einem Array :)
 
Zuletzt bearbeitet:
hmm, aber was mache ich mit meinem select-feld (namen)?

PHP:
<select name="usermodus_neu">
<option value="Volluser">Volluser</option>
<option value="Gast">Gast</option>

Ich muß ja in den Namen irgendwie auch die User-ID reinbekommen...... :rolleyes:
 
Denen gibts du einfach eine fortlaufende Nummer.
Got it ? ;)

Beispiel ( :rolleyes: ):

PHP:
<?php
$ids=array();
$i=0;
$k=0;
while( $row = mysql_fetch_row ){
       $ids[$i]=$row->id;
       $i++;
       ?> <select name="<?php echo $k; $k++;?>">
       <option></option>
       .......
}
?>
 
Zuletzt bearbeitet:
ok soweit klar, aber sendet er mir das Array auch über das Formular - und wie lese ich das wieder aus, ich brauche ja auch eine Trennung von user_id und user_modus.

Danke für die Hilfe!"
 
Für die Trennung kannst du ja folgendes nehmen:

PHP:
$users['id'][$i] = row->id;
$users['usermode'][$i] = row->usermode;
 
Zurück