Problem mit mysql und dem UPDATE-Befehl

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

  • Problem mit mysql und dem UPDATE-Befehl

    Hi,

    ich habe folgendes Problem:

    Mein Script zeigt mir eine Tabelle der Datenbank an. Wenn ich auf EDITIEREN klicke, an bekomme ich einen einzelnen Datensatz und Eingabefelder mit den schon vorhandenen Daten.
    Wenn ich nun die Daten in den Eingabefeldern ändern übernimmt das Script die Daten nicht und ändern nicht den gewählten Datensatz in der Datenbank.

    ich Poste mal das script... vielleicht habt ihr ne Idee wo mein denkfehler ist:

    <html>
    <head>
    <title>Administrationsoberfläche</title>
    </head>
    <body bgcolor="#D6D6D6">
    <?php
    $db = mysql_connect ("localhost","test","test");
    mysql_select_db ("Dtest");

    if ($submit == "delete") {

    $sql = "delete from benutzer where custID='$what'";
    $erg = mysql_query ($sql);

    }
    if ($submit == "edit") {
    ?><form action="<?php echo $PHPSELF; ?>">
    <?php

    $sql = "select * from benutzer where custID=$what";
    $erg = mysql_query ($sql);

    ?>
    <?php
    while ($row = mysql_fetch_row ($erg)) {
    ?>
    <table bgColor="#859AF3" width="60%">
    <tr>
    <td width="15%" bgColor="#546FE5">Name</td>
    <td width="29%" bgColor="#546FE5"><input type=text value="<? echo $row[1]?>"></td>
    <td width="24%" bgColor="#546FE5">&nbsp;</td>
    <td width="32%" rowspan="3"><center><img src="../images/upload/thumb_<? echo $row[13] ?>"></center</td>
    </tr>
    <tr>
    <td width="15%">eMail</td>
    <td width="29%"><input type=text value="<? echo $row[2]?>"></td>
    <td width="24%">&nbsp;</td>

    </tr>
    <tr>
    <td width="15%" bgColor="#546FE5">Homepage</td>
    <td width="29%" bgColor="#546FE5"><input type=text value="<? echo $row[3]?>"></td>
    <td width="24%" bgColor="#546FE5">&nbsp;</td>

    </tr>
    <tr>
    <td width="15%">PLZ</td>
    <td width="29%"><input type=text value="<? echo $row[4]?>"></td>
    <td width="24%">&nbsp;</td>
    <td width="32%">&nbsp;</td>
    </tr>
    <tr bgColor="#546FE5">
    <td width="15%" bgColor="#546FE5">Ort</td>
    <td width="29%" bgColor="#546FE5"><input type=text value="<? echo $row[5]?>"></td>
    <td width="24%" bgColor="#546FE5">&nbsp;</td>
    <td width="32%" bgColor="#546FE5">&nbsp;</td>
    </tr>
    <tr>
    <td width="15%">Geburtsdatum</td>
    <td width="29%"><input type=text value="<? echo $row[6]?>"></td>
    <td width="24%">&nbsp;</td>
    <td width="32%">&nbsp;</td>
    </tr>
    <tr>
    <td width="15%" bgColor="#546FE5">Größe</td>
    <td width="29%" bgColor="#546FE5"><input type=text value="<? echo $row[7]?>"></td>
    <td width="24%" bgColor="#546FE5">&nbsp;</td>
    <td width="32%" bgColor="#546FE5">&nbsp;</td>
    </tr>
    <tr>
    <td width="15%">Gewicht</td>
    <td width="29%"><input type=text value="<? echo $row[8]?>"></td>
    <td width="24%">&nbsp;</td>
    <td width="32%">&nbsp;</td>
    </tr>
    <tr>

    <td width="15%" bgColor="#546FE5">Haarfarbe</td>
    <td width="29%" bgColor="#546FE5"><input type=text value="<? echo $row[9]?>"></td>
    <td width="24%" bgColor="#546FE5">&nbsp;</td>
    <td width="32%" bgColor="#546FE5">&nbsp;</td>
    </tr>
    <tr>
    <td width="15%">Augenfarbe</td>
    <td width="29%"><input type=text value="<? echo $row[10]?>"></td>
    <td width="24%">&nbsp;</td>
    <td width="32%">&nbsp;</td>
    </tr>
    <tr>
    <td width="15%" bgColor="#546FE5">Ich suche</td>
    <td width="29%" bgColor="#546FE5"><input type=text value="<? echo $row[11]?>"></td>
    <td width="24%" bgColor="#546FE5">&nbsp;</td>
    <td width="32%" bgColor="#546FE5">&nbsp;</td>
    </tr>
    <tr>
    <td width="15%">Über mich</td>
    <td width="29%"><input type=text value="<? echo $row[12]?>"></td>
    <td width="24%">&nbsp;</td>
    <td width="32%">&nbsp;</td>
    </tr>
    </table>

    <?php

    }

    ?>
    <input type="submit" name="submit" value="edit2"></form>
    <?php
    }

    //
    // hier ist die stelle mit dem UPDATE
    //

    if ($submit == "edit2") {
    echo "what ist: $what";

    $sql = "UPDATE benutzer SET name = '$row[1]' where custID='$what'";
    $erg = mysql_query ($sql);

    }

    //
    //
    //


    ?>
    <?php
    $sql = "select * from benutzer";
    $erg = mysql_query ($sql);

    echo "<center><table cellspacing=\"0\" width=\"900px\"><tr>"
    ?>

    <td><b><center>Bild</center></b></td>
    <td><b>Name</b></td>
    <td><b>eMail</b></td>
    <td><b>Ort</b></td>
    <td><b><center>OK</center></b></td>
    <td><b><center>Datum</center></b></td>
    <td><b><center>Funktion</center></b></td>

    </tr>
    <?php
    $bg1 = "#859AF3";
    $bg2 = "#546FE5";
    $bg = $bg1;
    while ($row = mysql_fetch_row ($erg)) {

    echo "<td width=\"80px\" bgcolor=".$bg."><center><img src=\"../images/upload/thumb_".$row[13]."\"></center></td>";
    echo "<td width=\"160px\" bgcolor=".$bg.">".$row[1]."</td>";
    echo "<td width=\"250px\" bgcolor=".$bg.">".$row[2]."</td>";
    echo "<td width=\"170px\"bgcolor=".$bg.">".$row[5]."</td>";
    echo "<td width=\"50px\" bgcolor=".$bg."><center>".$row[14]."</center></td>";
    echo "<td width=\"80px\" bgcolor=".$bg."><center>".$row[15]."</center></td>";
    echo "<td width=\"160px\"bgcolor=".$bg."><center><a href=\"admin.php?submit=delete&what=".$row[0]."\">L&ouml;schen</a> - <a href=\"admin.php?submit=edit&what=".$row[0]."\">Editieren</a></center></td>";
    echo "</tr>";
    if ($bg == $bg1) {
    $bg = $bg2;
    } elseif ($bg == $bg2) {
    $bg = $bg1;
    }

    }
    echo "</table></center>"
    ?>

    </body></html>

  • #2
    Sorry, aber soll mann sich wirklich das ganze Script durchlesen? Schreib doch mal die entscheidenden Stellen raus. Und dann mit PHP Syntaxerkennung und alles wird gut.

    Wichtig ist zuerstmal:
    1. Was gibt der Link zum Editieren aus?
    2. Wie sieht der Code aus mit dem du auf der Editieren-Seite ausließt
    3. Wie sieht dein Update code aus?
    4 Was gibt dir ein "echo $sql;" aus, nachdem du $sql definiert hast?

    Kommentar


    • #3
      Re: Problem mit mysql und dem UPDATE-Befehl

      Original geschrieben von cyberbob
      //
      // hier ist die stelle mit dem UPDATE
      //

      if ($submit == "edit2") {
      echo "what ist: $what";
      du bist sicher, dass die werte übergeben werden? teste dies, indem du hier $submit, $what und $row[1] ausgibst...

      Kommentar

      Lädt...
      X