Checkboxen ausgewählt oder nicht [PHP&mySQL]

Pixelschubser

Mitglied
Hallo,

habe folgendes Problem ich habe ein registrierungs Formular das der User ausfüllt.
Da sind diverse Checkboxen (so um die 200) die Werte werden dann in die Datenbank gespeichert.
Also
1 = angeklickt
0 = nicht angeklickt.

Dann kann der User im internen Bereich sein Profil noch einmal überarbeiten.
Also wieder ein Formular mit den selben checkboxen (selbe anordnung, selbe namen).

Jetzt zu meinem Problem, wie lasse ich die checkboxen die er ausgewählt hat als checkd ausgeben und die er nicht ausgewählt hatte als nicht makiert?

Möchte nicht für jede Box eine Abfrage machen also per Hand.
Jemand eine Idee oder eine Lüsung?

Danke!
 
Also du liest die Daten aus der Datenbank, also fü alle Checkboxen.
Beim anlegen dieser hast du ja sicherlich eine Schleife. Hier prüfst du den Wert und gibst dementsprechend checked aus:

PHP:
while( $row = each($daten) )  //oder wie auch immer... nur als BSP
{
 echo "<input type=\"checkbox\" name=\"\" value=\"1\" ";
  if( $row['wert'] == 1 )
       echo " checked";
   echo " />";
}
 
Hi,

habe keine Schleife zum Eintragen. Brauch ich nich.
Zu deinem Ansatz, den versteh ich noch nicht so ganz.
Vielleicht etwas mehr?

Edit: Vielleicht blick ich es doch... mal sehen
 
Ok wenn du keine Schleife benutzt wie dann? Tipps du für jedes Element, sprich den Wert jeder geüwnschten Spalte das ganze von Hand ein oder wie?
Quellcode?
 
Hi,

es ist nur einmal die Seite mit den ganzen Boxen und wird an ein Script gesendet,
was nur ein mysql Statement enthällt.
Da werden einmal die Daten eingegeben und fertig is.
 
Dann kann der User im internen Bereich sein Profil noch einmal überarbeiten.
Also wieder ein Formular mit den selben checkboxen (selbe anordnung, selbe namen).

Jetzt zu meinem Problem, wie lasse ich die checkboxen die er ausgewählt hat als checkd ausgeben und die er nicht ausgewählt hatte als nicht makiert?

So wie ich das verstehe geht es darum das bereits eingetragene auszulesen und anzuzeigen?
 
Ja,

jetzt geht es darum das wieder auszulesen.
Da bin ich gerade dran.

Aber Du hattest geschrieben "Beim anlegen dieser hast du ja sicherlich eine Schleife"
Und dazu, Nein benutze keine Schleife
 
Mit der Schleife war es wie folgt gemeint, dass du in einem SQL-Statement alle betroffenen Spalten ausliest.
Das ergebnis hättest du dann in einem eindimensionalen Array, welches du durchläufst. Für jedes Element kannst du dann eine Chechbox wie in einem ersten Post beschrieben erzeugen.
 
Jetzt hast Du aber noch das Problem, daß eine Checkbox nicht übermittelt wird wenn sie nicht checked ist. Das heißt wenn der User eine Box deaktiviert wird der Wert nicht geändert.

Abhilfe:
Setz (im Formular) vor der Checkbox ein Hidden Field mit value=0.
 
Zurück