Update funzt nicht

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

  • Update funzt nicht

    Hallo zusammen,

    ich versuche ein Update-Skript für eine Datenbank zu schreiben,
    die Daten werden bis auf "art" angezeigt

    PHP-Code:
    <!-update.php->

    <p>W&auml;hlen Sie aus, welcher Datensatz ge&auml;ndert werden soll:</p>
    <form action = "db_einzel_b.php" method = "post">
    <?php
            $dbname
    ="***";
            
    $dbhost="***";
            
    $dbuser="***";
            
    $dbpass="***";

            
    mysql_connect($dbhost,$dbuser,$dbpass);
            
    mysql_select_db($dbname);

       
    $res mysql_query("select * from geraete");
       
    $num mysql_num_rows($res);

       
    // Tabellenbeginn
       
    echo "<table border='1'>";

       
    // Überschrift
       
    echo "<tr> <td>Auswahl</td> <td>Hersteller</td>";
       echo 
    "<td>Bezeichnung</td> <td>Art</td>";
       echo 
    "<td>ID</td> <td>Serie</td>";
       echo 
    "<td>Standort</td> <td>Wartung</td>";
       echo 
    "<td>Wartungsintervall</td> <td>Angeschafft</td>";
       echo 
    "<td>Reparaturinfos</td> </tr>";

       while (
    $dsatz mysql_fetch_assoc($res))
       {
          echo 
    "<tr>";
          echo 
    "<td><input type='radio' name='auswahl'";
          echo 
    " value='" $dsatz["id"] . "' /></td>";
          echo 
    "<td>" $dsatz["hersteller"] . "</td>";
          echo 
    "<td>" $dsatz["bezeichnung"] . "</td>";
          echo 
    "<td>" $dsatz["art"] . "</td>";
          echo 
    "<td>" $dsatz["id"] . "</td>";
          echo 
    "<td>" $dsatz["serie"] . "</td>";
          echo 
    "<td>" $dsatz["standort"] . "</td>";
          echo 
    "<td>" $dsatz["wartung"] . "</td>";
          echo 
    "<td>" $dsatz["wartungint"] . "</td>";
          echo 
    "<td>" $dsatz["neu"] . "</td>";
          echo 
    "<td>" $dsatz["rep"] . "</td>";
          echo 
    "</tr>";
       }

       
    // Tabellenende
       
    echo "</table>";
    ?>
    <p><input type="submit" value="Datensatz anzeigen" /></p>
    </form>
    </body>
    </html>
    PHP-Code:
    <?php
    if (isset($_POST["auswahl"]))
    {
            
    $dbname="***";
            
    $dbhost="***";
            
    $dbuser="***";
            
    $dbpass="***";

            
    mysql_connect($dbhost,$dbuser,$dbpass);
            
    mysql_select_db($dbname);

       
    $sqlab "select * from geraete where
          id = " 
    $_POST["auswahl"];
       
    $res mysql_query($sqlab);
       
    $dsatz mysql_fetch_assoc($res);

       echo 
    "<p>F&uuml;hren Sie die &Auml;nderungen durch,<br />";
       echo 
    "bet&auml;tigen Sie anschlie&szlig;end den Button</p>";
       echo 
    "<form action = 'db_einzel_c.php' method = 'post'>";

    echo 
    "<p><input name='hersteller' value='" $dsatz["hersteller"
         . 
    "' /> Hersteller</p>";
    echo 
    "<p><input name='bezeichnung' value='" $dsatz["bezeichnung"
         . 
    "' /> Bezeichnung</p>";
    echo 
    "<p><input name='art' value='" $_POST["art"
         . 
    "' /> Art</p>";
    echo 
    "<p><input name='id' value='" $dsatz["id"
         . 
    "' /> ID-Nr:</p>";
    echo 
    "<p><input name='serie' value='" $dsatz["serie"
         . 
    "' /> Serien-Nr:</p>";
    echo 
    "<p><input name='standort' value='" $dsatz["standort"
         . 
    "' /> Standort</p>";
    echo 
    "<p><input name='wartung' value='" $dsatz["wartung"
         . 
    "' /> Wartungstermin</p>";
    echo 
    "<p><input name='wartungint' value='" $dsatz["wartungint"
         . 
    "' /> Wartungsintervall</p>";
    echo 
    "<p><input name='neu' value='" $dsatz["neu"
         . 
    "' /> Angeschafft</p>";
    echo 
    "<p><input name='rep' value='" $dsatz["rep"
         . 
    "' /> Reparaturinfo</p>";


       echo 
    "<input type='hidden' name='oripn' value='" 
            
    $_POST["auswahl"] . "' />";
       echo 
    "<p><input type='submit' 
            value='&Auml;nderungen in Datenbank speichern' />"
    ;
       echo 
    " <input type='reset' /></p>";
       echo 
    "</form>";
    }
    else
       echo 
    "<p>Es wurde kein Datensatz ausgew&aunl;hlt</p>";
    ?>
    </body>
    </html>
    PHP-Code:
    <?php
       
    <?php
       $dbname
    ="***";
             
    $dbhost="***";
             
    $dbuser="***";
             
    $dbpass="***";

            
    mysql_connect($dbhost,$dbuser,$dbpass);
            
    mysql_select_db($dbname);

       
    $sqlab "update geraete set"
         
    " hersteller = '" $_POST["hersteller"] . "',"
         
    " bezeichnung = '" $_POST["bezeichnung"] . "',"
         
    " art = '" $_POST["art"] . "',"
         
    " id = '" $_POST["id"] . "',"
         
    " serie = '" $_POST["serie"] . "',"
         
    " standort = '" $_POST["standort"] . "',"
         
    " wartung = " $_POST["wartung"] . ","
         
    " wartungint = " $_POST["wartungint"] . ","
         
    " neu = '" $_POST["neu"] . "'"
         
    " rep = '" $_POST["rep"] . "',"
         
    " where id = " $_POST["oripn"];
       
    mysql_query($sqlab);

       
    $num mysql_affected_rows();
       if (
    $num>0)
          echo 
    "<p>Der Datensatz wurde ge&auml;ndert</p>";
       else
          echo 
    "<p>Der Datensatz wurde nicht ge&auml;ndert</p>";
    ?>
    <p>Zur&uuml;ck zur <a href="db_einzel_a.php">Auswahl</a></p>
    </body>
    </html>
    Wie gesagt,
    wenn die Daten ausgelesen werden (2.Skript) wird art nicht mit ausgegeben,
    und wenn ich daten eingebe werden diese nicht geändert.

    Danke für die hilfe

  • #2
    Hallo,

    alle anderen Felder im zweiten Script werden aus dem Array $dsatz abgeholt. Nur bei Art steht dort $_POST. Das wird wohl der Fehler sein?!?

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      OK Danke, der Fehler wäre behoben

      ich sitze seid 5 Std schon daran, da wird man etwas blind,

      aber das ist ja noch das Problem mit der Änderung, die nicht

      funktioniert.

      Kommentar


      • #4
        Hast du das hidden-Feld „oripn“ (weiter unten) auch korrigiert?
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          im 2. oder 3. Skript?

          also mysql(mysql_error()) wirft mir nen fehler im 3. Skript aus
          in der Zeile
          [COLOR=#000000][COLOR=#006600][/COLOR][COLOR=#0000CC]$sqlab [/COLOR][COLOR=#006600]= [/COLOR][COLOR=#CC0000]"update geraete set"[/COLOR][/COLOR]

          Kommentar


          • #6
            Und die Fehlermeldung ist geheim?

            Kommentar


            • #7
              Such doch einfach nach „oripn“, du wirst doch deinen Code hoffentlich besser kennen als ich.

              Wenn du einen Fehler in einem generierten Statement hast, ist der erste Schritt, sich das Statement mal ausgeben zu lassen, dann siehst du auch, wo dort ein Komma fehlt.
              [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
              Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
              Super, danke!
              [/COLOR]

              Kommentar


              • #8
                omg ok, du sagest ja hiddenfeld,
                ja hab ich geändert.

                Der Fehler bleibt aber

                Kommentar


                • #9
                  Zitat von DerLars Beitrag anzeigen
                  Der Fehler bleibt aber
                  Ich weiß, dazu hab ich mich aber auch schon geäußert.
                  [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                  Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                  Super, danke!
                  [/COLOR]

                  Kommentar


                  • #10
                    Die Fehlermeldung ist:
                    Parse error: syntax error, unexpected T_VARIABLE in /data/members/free/tripod/de/o/f/f/offermannsl/htdocs/db_einzel_c.php on line 69

                    Line 69 ist:
                    [COLOR=#000000][COLOR=#0000cc]$sqlab [/COLOR][COLOR=#006600]= [/COLOR][COLOR=#cc0000]"update geraete set"


                    [/COLOR][/COLOR]

                    Kommentar


                    • #11
                      Könnte auch an dem doppelten Open-Tag (<?php) liegen.
                      [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                      Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                      Super, danke!
                      [/COLOR]

                      Kommentar


                      • #12
                        ok, lassen wir das für heute,
                        der Fehler kam dadurch,
                        dass ich hinter (mysql_error())
                        das ";" vergessen habe.

                        Aber Daten werden trotzdem nicht geändert.

                        Kommentar


                        • #13
                          <?php hab ich gerade geprüft,
                          ich mir aber nur hier im Skript kopieren reingerutscht,
                          im Original ist es nicht

                          Kommentar

                          Lädt...
                          X