Jan: Flexible Variablennamen

Hallo Leute!

Nun, ich hab ein dynamisch aufgebautes Formular, das aus einer bestimmten Anzahl von Zeilen besteht, die Anzahl dafür kommt aus der Datenbank.

Nun möchte ich, dass bei Abschicken des Formulars, jede Zeile als eigener Datensatz in die MySQL-DB eingetragen wird.

Begonnen hab ich so:

$i = 1;

while ($i <= $anzahl) {

echo "<input type=text name=eintrag";
echo $i;
echo "><br>";
$i++;
}

Wenn die Anzahl 7 ist, hab ich nun 7 Zeilen, und die Namen der Felder gehen von eintrag1 bis eintrag7.

Nun wollte ich das INSERT in eine ähnliche Schleife einbinden, nur wie spreche ich nun die Feldnamen an?

Die Namen mit $eintrag.$i zu benennen geht nicht, da er dann dem Feldinhalt das $i anfügt, und nicht zum Variablennamen.

Wie kann ich in einer Schleife Variablennamen "erzeugen"?

Sie müssen eben $eintrag1 bis $eintrag7 heißen, aber ich weiß nicht, wie ich das erreichen kann.

Hoffe, jemand weiß ne Lösung.

lg, Jan

  1. Hallo,

    Die Namen mit $eintrag.$i zu benennen geht nicht, da er dann dem Feldinhalt das $i anfügt, und nicht zum Variablennamen.

    Probiers mal mit ${"eintrag".$i}

    Gruss Michael

    1. Hallo!

      Die Namen mit $eintrag.$i zu benennen geht nicht, da er dann dem Feldinhalt das $i anfügt, und nicht zum Variablennamen.
      Probiers mal mit ${"eintrag".$i}

      Hhhmm, wär sicher auch ne Möglichkeit, ich habs nun so gelöst:

      Schon bei der Formularerstellung mach ich folgendes:

      echo "<input type=text name=eintrag[";
      echo $i;
      echo "]>";

      So konnte ich es dann per $eintrag[$i] ansprechen und in die DB eintragen :o)

      Trotzdem danke!

      lg, Jan

      1. Hallo,

        auch eine Möglichkeit.. weiss nicht ob sie HTML-mässig korrekt ist aber funktionieren tut sie.

        Gruss Michael

        1. Hallo,

          auch eine Möglichkeit.. weiss nicht ob sie HTML-mässig korrekt ist aber funktionieren tut sie.

          Gruss Michael

          Stimmt, sieht komisch aus, aber funktioniert :o)