datensätze editieren - id wird nicht übergeben

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

  • datensätze editieren - id wird nicht übergeben

    Einen schönen guten Abend die Damen und Herren!

    Ich hab folgendes Problem : Ich habe einen Ferienplan für Deutschland mittels PHP und MySQL erstellt, nun möchte ich es ermöglichen, die Daten der einzelnen Bundesländer zu verändern.

    Hierzu wollte ich alle Datensätze ich einer Tabelle ausgeben und hinter jedem Datensatz einen input/submit setzen, durch welchen ein input/hidden die entsprechende ID für den Datensatz übergeben wird.

    Die Ausgabe selbst ist kein Problem, jedoch werden keine Änderungen übernommen. Ich habe mir die ID ausgeben lassen, und diese ist immer die des letzten Datensatzes, heißt also, es wird die falsche ID übergeben. Bzw. selbst wenn ich den letzten Datensatz verändern will, ändert sich dieser nicht.

    Anbei mal der Code:

    PHP-Code:
    <?
    include('zugangsdaten.php');

    mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());

    // Daten ändern, anschließend ID des geänderten Datensatzes ausgeben

    if(isset($_POST['aendern'])) { mysql_query("UPDATE ferienplan SET
     
    herbst='".$_POST['herbst']."',
    weihnachten='".$_POST['weihnachten']."',
    winter='".$_POST['winter']."', 
    ostern='".$_POST['ostern']."', 
    pfingsten='".$_POST['pfingsten']."', 
    sommer='".$_POST['sommer']."' 
    WHERE id='".$_POST['id']."'") 

    OR die(mysql_error());

    echo '<b>Daten wurden erfolgreich ge&auml;ndert</b><br><br>ID '.$_POST['id'];
        }

    // Ende ändern

    echo '<h1>Ferienplan bearbeiten</h1>',
            '<form action="'. $_SERVER['PHP_SELF'] .'" method="post" >',
            '<table class="ferienplan" cellpadding="0" cellspacing="0">',
            '<thead>',
            '<tr>',
            '<td>Bundesland</td>',
            '<td>Herbst 2008</td>',
            '<td>Weihnachten 2008/2009</td>',
            '<td>Winter 2009</td>',
            '<td>Ostern 2009</td>',
            '<td>Pfingsten 2009</td>',
            '<td>Sommer 2009</td>',
            '</tr>',
            '</thead>';

    $ferienplan = mysql_query("SELECT * FROM ferienplan") OR die(mysql_error());
     
    while($ferienplanzelle = mysql_fetch_array($ferienplan)) {
    echo '<tr>',
    '<td name="bundesland">'.$ferienplanzelle['bundesland'].'</td>',
    '<td><input type="text" name="herbst" value="'.$ferienplanzelle['herbst'].'"></td>',
    '<td><input type="text" name="weihnachten" value="'.$ferienplanzelle['weihnachten'].'"></td>',
    '<td><input type="text" name="winter" value="'.$ferienplanzelle['winter'].'"></td>',
    '<td><input type="text" name="ostern" value="'.$ferienplanzelle['ostern'].'"></td>',
    '<td><input type="text" name="pfingsten" value="'.$ferienplanzelle['pfingsten'].'"></td>',
    '<td><input type="text" name="sommer" value="'.$ferienplanzelle['sommer'].'"></td>',
    '<td><input type="hidden" name="id" value="'.$ferienplanzelle['id'].'">
    <input type="submit" name="aendern" value="&Auml;ndern"></td>',
    '</tr>';
    }

     echo '</table>',
            '</form>';
    Kann mir hier einer weiterhelfen?
    Zuletzt geändert von susi1600; 03.12.2008, 19:33.

  • #2
    Re: datensätze editieren - id wird nicht übergeben

    Original geschrieben von susi1600

    PHP-Code:
    <?
    // Daten ändern, anschließend ID des geänderten Datensatzes ausgeben

    if(isset($_POST['aendern'])) { mysql_query("UPDATE ferienplan SET
     
    herbst='".$_POST['herbst']."',
    weihnachten='".$_POST['weihnachten']."',
    winter='".$_POST['winter']."', 
    ostern='".$_POST['ostern']."', 
    pfingsten='".$_POST['pfingsten']."', 
    sommer='".$_POST['sommer']."' 
    WHERE id='".$_GET['id']."'") 

    OR die(mysql_error());

    echo '<b>Daten wurden erfolgreich ge&auml;ndert</b><br><br>ID '.$_POST['id'];
        }
    Kann mir hier einer weiterhelfen?
    Hallo,

    einmal übergibst du die ID per GET und einmal per POST???


    VG
    gourmet

    Kommentar


    • #3
      Das war ein Tippfehler - mittlerweile steht dort natürlich schon wieder $_POST - aber auch so funzt es nicht :-(

      Kommentar


      • #4
        mysql_error() gibt keinen Fehler aus? error_reporting?

        ändere das WHERE id='".$_GET['id']."'") mal...
        PHP-Code:
        WHERE id=".$_POST['id']) 
        Edit: und nimm mal den FORM action Teil mit in die while Schleife.
        Zuletzt geändert von gourmet; 03.12.2008, 19:31.

        Kommentar


        • #5
          Hey super - vielen Dank für den Tipp mit der FORM - nun klappt es - schönen abend noch!!

          Kommentar

          Lädt...
          X