Ankündigung

Einklappen
Keine Ankündigung bisher.

Variablennamen von $POST-Variablen dynamisch generieren

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Variablennamen von $POST-Variablen dynamisch generieren

    Hallo,
    ich habe ein Problem

    Ich arbeite mit einer MySQL Datenbank und php.

    Ich habe ein Kontaktformular mit Formularfeldern, deren Namen dynmanisch generiert werden mit Hilfe einer ID aus der Datenbank.

    Die Dateninhalte werden an eine andere Seite übergeben und die kann ich ja mit
    PHP-Code:
    <?php
    $name 
    $POST['variablenname'];

    ?>
    auslesen.

    Jetzt möchte ich mit Hilfe einer Datenbankabfrage über einer Schleife den 'variablenname' dynamisch generieren.
    Hat jemand eine Idee?

    Ich dachte mir das in etwa so:

    PHP-Code:
    <?php
    ...
    $sqlString "SELECT course.course_id FROM course;";
    $RSupdate mysql_query($sqlString);
        
    while(
    $update mysql_fetch_array($RSupdate)) {

    $sqlString2 "UPDATE course SET content = '" $_POST['content " . $update['course_id'] . "'] . "' ";

    ...

    ?>
    Leider scheint der Ansatz nicht so richtig. Kann ich $POST-Variablen auch mit Hilfe einer ID auslesen anstatt mit dem Namen?
    Danke schon mal.

  • #2
    Du könntest den $_POST Array per foreach durchlaufen.

    Kommentar


    • #3
      Ich habe es jetzt selbst geschafft:

      Für alle die es noch interessiert, oder zukünftig Interesse haben:


      Nach dem Übermitteln der Formularfeldinhalte findet eine DB-Abfrage statt, die die ID für die Felder ausliest.
      Dann erstelle ich die Feldnamen und weise diesen eine Variable zu, so wie nachfolgend zu sehen:

      PHP-Code:
      <?php
      /* SQL -Abfrage */
      ...
      while(
      $update mysql_fetch_array($RSupdate)) {

      $var1 "var_" $update['id'];
      $var2 "var_" $update['id'];
      $var3 "var_" $update['id'];


      ?>
      $update['id'] hat keine chronologische Reihenfolge.

      So kann ich dann für jeden Datensatz die dynamisch erstellten Formularfelder auslesen mit:

      PHP-Code:
      <?php

      ...
      $sqlString "UPDATE table SET col1 = '" $_POST[$var1] . "' , col2 = '" $_POST[$var2] . "';";

      ...
      ?>
      Falls das jetzt jemand nicht verstanden hat, ich bin gerne bereit weitere Auskünfte zu geben.
      Trotzdem danke für die Mühen.

      Kommentar

      Lädt...
      X