Mike Rofon
Erfahrenes Mitglied
also ich hab ein Formular mit 169 Inputs. Die Namen der Felder kann ich per schleife zusammen setzen.
sieht etwa so aus: $varname = "z".$i."mo";
$i is der Zähler der FOR-Schleife.
Jwtz isses so, daß es bei mir bisher unter PHP4 funktioniert hat, nach einem Abschicken des Formulars mit action $PHP_SELF, auf die Felder wieder mit $z1mo (zb) zuzugreifen. Der SQL-Befehl wurde so zusammengebaut:
Das geht nu mit PHP5 nich mehr... jetzt muß ich die Sachen erst aus $_POST[] rausholen.
Aber ich finde keine Variante wie ich das einigermaßen elegant lösen kann....
soll in etwa SO aussehen:
So funktioniert es aber nicht. Leuchtet mir auch ein... Aber wie macht man's richtig? Ich krieg das mit diesen Variablen-Verweisen nich gebacken.
Sicherlich könnte ich vorher 169mal (obige sqlsave-Konstruktion wird 27x durchlaufen) $z1mo = $_POST['z1mo']; mit den entsprechenden Änderungen machen... aber ich wollt ja ne eleganze Lösung
Wer hat bitte eine Idee?
sieht etwa so aus: $varname = "z".$i."mo";
$i is der Zähler der FOR-Schleife.
Jwtz isses so, daß es bei mir bisher unter PHP4 funktioniert hat, nach einem Abschicken des Formulars mit action $PHP_SELF, auf die Felder wieder mit $z1mo (zb) zuzugreifen. Der SQL-Befehl wurde so zusammengebaut:
PHP:
$sqlsave = "UPDATE $plan_name
SET Montag = '"; $varx = "z".$i."mo"; $sqlsave .= $$varx;
$sqlsave .= "', Dienstag = '"; $varx = "z".$i."di"; $sqlsave .= $$varx;
$sqlsave .= "', Mittwoch = '"; $varx = "z".$i."mi"; $sqlsave .= $$varx;
$sqlsave .= "', Donnerstag = '"; $varx = "z".$i."do"; $sqlsave .= $$varx;
$sqlsave .= "', Freitag = '"; $varx = "z".$i."fr"; $sqlsave .= $$varx;
$sqlsave .= "', Samstag = '"; $varx = "z".$i."sa"; $sqlsave .= $$varx;
$sqlsave .= "', Sonntag = '"; $varx = "z".$i."so"; $sqlsave .= $$varx;
$sqlsave .= "' WHERE id='$i'";
Aber ich finde keine Variante wie ich das einigermaßen elegant lösen kann....
soll in etwa SO aussehen:
PHP:
$sqlsaveneu = "UPDATE $plan_name
SET Montag = '"; $varx = "z".$i."mo"; $sqlsaveneu .= $_POST['varx'];
$sqlsaveneu .= "', Dienstag = '"; $varx = "z".$i."di"; $sqlsaveneu .= $_POST['$$varx'];
$sqlsaveneu .= "', Mittwoch = '"; $varx = "z".$i."mi"; $sqlsaveneu .= $_POST['$$varx'];
$sqlsaveneu .= "', Donnerstag = '"; $varx = "z".$i."do"; $sqlsaveneu .= $_POST['$$varx'];
$sqlsaveneu .= "', Freitag = '"; $varx = "z".$i."fr"; $sqlsaveneu .= $_POST['$$varx'];
$sqlsaveneu .= "', Samstag = '"; $varx = "z".$i."sa"; $sqlsaveneu .= $_POST['$$varx'];
$sqlsaveneu .= "', Sonntag = '"; $varx = "z".$i."so"; $sqlsaveneu .= $_POST['$$varx'];
$sqlsaveneu .= "' WHERE id='$i'";
Sicherlich könnte ich vorher 169mal (obige sqlsave-Konstruktion wird 27x durchlaufen) $z1mo = $_POST['z1mo']; mit den entsprechenden Änderungen machen... aber ich wollt ja ne eleganze Lösung
Wer hat bitte eine Idee?