Mehrere Einträge aus Liste aktualisieren

3Dnavigator

Erfahrenes Mitglied
Hallo zusammen!

Habe eine Liste mit Checkboxen vor jedem Eintrag. Wenn die Checkbox aktiviert ist, wird die jeweilige Variabel "ID" in die Variable "$markid" gespeichert. Nun sollen beim absenden des "Formulars" alle Einträge mit IDs die in der Variable $markid gespeichert wurden verändert werden.

Wie ich sie verändere, ist mir klar. Nur nicht, wie ich in PHP schreibe, dass jede der in $markid enthaltenen Einträge geupdatet werden sollen...

Vielen Dank für eure Hilfe!

Grüsse aus der Schweiz,
ToxFox
 
Ich versteh dein Problem nicht ganz ...... ich glaube du hast dir die Antwort schon selber gegeben.

Vielleicht könntest du das spezifizieren was möchtest du Updaten ...... eine DB oder die auszugebene Seite?
 
Ok, also:

Folgender Code stellt das File beispiel.php dar.

Code:
<form action="./beispiel.php" method="post">
<table>
<?
while($sql1 = mysql_fetch_array($sqlquery1)) {
echo("<tr><td><input type=\"checkbox\" name=\"MARKID\" value=\"ID\">".$sql1[description]."</td></tr>");
}
?>
</table>
<input type="text" name="description" value=""><p>
<input type="submit" name="update" value="Aktualisieren">
</form>

Nun ist die Frage:
Wie kann ich machen, dass alle mit den Checkboxen markierten Einträgen aus der SQL-DB in das Feld "description" den vom User eingegebenen Wert aus dem Textfeld "description" gespeichert werden?

Ich hab' das Problem, da es sich ja bei der Variable "markid" um eine multidimensionale Variable haltet (hat ja eventuell mehrere Werte drin)...
 
Hm ich denke du hast da HTML nicht ganz verstanden. Jede Checkbox hat bei dir den gleichen Name, das geht natürlich nicht, weil du sie sonst nicht mehr unterscheiden kannst...

Folgendes würde z.B. gehen:

PHP:
while($sql1 = mysql_fetch_array($sqlquery1)) {
echo '<input type="checkbox" name="x'.$sql1['id'].' value="true">';
}

Nun kannst du auf die Variablen so zugreifen:

PHP:
while($sql1 = mysql_fetch_array($sqlquery1)) {
   $var = "x".$sql1['id'];
   if ($$var == "true") echo 'angekreuzt';
}
 
Zurück