Hab ein bissl Schwierigkeiten das Problem in einem Satz zu beschreiben, sorry!
Ich lasse zunächst den Inhalt einer Tabelle anzeigen (Bild+Beschreibung+weitere Werte).
Zu jeder Anzeige erzeuge ich eine Checkbox (Könnten durchaus 50 oder mehr werden).
Der Benutzer hat die Möglichkeit automatisch alle Checkboxen zu setzen oder auch explizit jede manuell (soweit noch kein Problem).
Wenn der Benutzer aber nun auf ‚Fertig‘ klickt, dann soll in der Tabelle entsprechend den gesetzten Häkchen Inhalte bestimmter Felder in der Tabelle geändert werden.
Gibt es eine Möglichkeit, dies automatisiert zu gestalten (über Schleife oder ähnliches?)
Es ist doch ziemlich mühselig und absolut unflexibel, wenn ich jedes Häkchen extra abfragen muss und einen SQL-Befehl erzeugen muss.
Gibt es eine Möglichkeit, dies automatisiert zu gestalten
(über Schleife oder ähnliches?)
Es ist doch ziemlich mühselig und absolut unflexibel, wenn ich
jedes Häkchen extra abfragen muss und einen SQL-Befehl
erzeugen muss.
Was mir da als erstes in den Sinn kommt, ist die Checkboxen mit eckigen Klammern [] zu benennen, also z.B.
.
Du musst natürlich dann alle Checkboxen gleich benennen und nur den Wert ändern.
PHP übernimmt dann bei der Übermittlung diese Werte in ein Array ($meineCheckbox), die Du bequem mit einer foreach (PHP4) oder list(php3) abarbeiten kannst.
So weit so klar. Aber ich hab mein Problem, daraus eine (?)
Abfrage zu generieren nach dem Motto: update tabelle … where
meinecheckboxen[];
Meines Wissens geht dies nicht, aber ich lasse mich natürlich gerne eines besseren belehren…
Mein Lösungsansatz wäre hier, in der Schlaufe das SQL-Statement ausführen zu lassen… So wird zwar das execute jedesmal ausgeführt, allerdings variabel, sodass Du die Abfrage eigentlich nur einmal schreiben muss.
Etwa so:
mysql_connect(usw. blablabla)
while(list($key, $value)=each($meineCheckbox)){
$query=„UPDATE Tabelle SET Feld=$value WHERE Feld=Kriterium“;
mysql_execute(blabla);
}