Announcement

Collapse
No announcement yet.

Über ein Formular in die Datenbank schreiben

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Über ein Formular in die Datenbank schreiben

    Hallo!

    Folgendes Script hatte ich bereits laufen.
    Dabei wurde aber immer nur 1 Feld in der DB geändert.

    Jetzt möchte ich aber 5 Felder in der Datenbank ändern.

    Wie geht das denn?

    Ausgelesen und angezeigt wird das Formular, aber die Änderungen
    stimmen dann leider nicht.

    <?php
    $db_benutzer= " "; //DB-Benutzer
    $db_passwort= " "; //DB-Passwort
    $db_name = "fisch"; //DB-Name
    $table_name = "preise"; //Name der Tabelle in der die Daten stehen
    $thisfile = "eingabe.php"; //Name dieser Datei
    $verb_fhr = mysql_connect ("localhost", $db_benutzer, $db_passwort);
    mysql_select_db ($db_name, $verb_fhr);
    $sql_query_fhr = "SELECT gramm, rund, kuechenfertig, frischfiliert, geraeuchert, geraeuchertfiliert FROM ".$table_name." ";
    $antwort_fhr = mysql_query ($sql_query_fhr, $verb_fhr);
    if(isset($_POST['name'])){
    foreach($_POST['name'] as $name => $points){
    mysql_query("UPDATE ".$table_name." SET rund='".$points."' WHERE gramm='".$name."'");
    }
    header("location: ".$thisfile); exit();
    }
    else{
    echo('<form method="post" action="">
    <table width=300 border=0 cellpadding=2 cellspacing=0>
    <tr>
    <td><b>Ware</b></td>
    <td><b>rund</b></td>
    <td><b>k�chenfertig</b></td>
    <td><b>frisch filiert</b></td>
    <td><b>ger�uchert</b></td>
    <td><b>ger�uchert filiert</b></td>
    </tr>');
    while($zeile = mysql_fetch_array($antwort_fhr)){
    $count = $count+1;

    echo('<tr>
    <td>'.$zeile['gramm'].'</td>
    <td>
    <input type="text" name="name['.$zeile['gramm'].']" value="'.$zeile['rund'].'">
    </td>
    <td>
    <input type="text" name="name['.$zeile['gramm'].']" value="'.$zeile['kuechenfertig'].'">
    </td>
    <td>
    <input type="text" name="name['.$zeile['gramm'].']" value="'.$zeile['frischfiliert'].'">
    </td>
    <td>
    <input type="text" name="name['.$zeile['gramm'].']" value="'.$zeile['geraeuchert'].'">
    </td>
    <td>
    <input type="text" name="name['.$zeile['gramm'].']" value="'.$zeile['geraeuchertfiliert'].'">
    </td>
    </tr>');
    }

    echo('
    <tr>
    <td colspan="2">
    <input type="submit" value="speichern">
    </td>
    </tr>
    </table>
    </form>');
    }
    mysql_close($verb_fhr);
    ?>

  • #2
    Ich weiss leider nicht, wie man hier Code anzeigen lassen kann, deshalb habe ich es als Textdatei angehängt.

    Chri

    Comment


    • #3
      hallo

      dein fehler liegt in der update-anweisung! du änderst nur die spalte "rund".

      hier ein beispiel:
      $sql = "UPDATE auftrag_arbeiten SET "
      ."spalte_a = '".$this->textvariable_a."', "
      ."spalte_b = '".$this->textvariable_b."', "
      ."spalte_c = ".$this->zahlvariable_c
      ." WHERE gramm='".$name."'";

      mysql_query($sql);
      so sollte es gehen. die sache mit der extra variablen $sql macht es nur übersichtlicher!

      ;-) mim

      Comment

      Working...
      X