Problem beim Update

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

  • Problem beim Update

    Hallo,

    ich habe eine Liste gemacht mit allen Datensätzen und einen ändern button. Beim Klick auf den Ändern Button wird ein Formular mit den ganzen Daten geladen.

    Jetzt hab ich mal versucht nur einen Wert im Datensatz zu ändern. Bekomme aber immer folgenden Fehler:

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
    C:\Programme\xampp\htdocs\personal\m-aendern.php on line 23
    PHP-Code:
    <?
    session_start();
    include 'sessionhelpers.inc.php';
    include 'connect.php';

    // Prüfung ob man eingeloggt ist
    if (!logged_in())
        {
            echo 'nicht eingeloggt ';
        }
    else
        {
        $id=$_GET['id'];

    $result = mysql_query("SELECT `id`, `betrieb`, `funktion`, `kstelle`, `nachname`, 
    `vorname`, `schule`, `azeit`, `stunden`, `fschein`
     FROM `mitarbeiter` WHERE id=$id");
            
    if(isset($Submit)){
    mysql_query("UPDATE mitarbeiter set betrieb=$textfield3 
    WHERE `id`=$id")or die (mysql_error());
    echo" Job's Done";
    echo "<meta http-equiv='refresh' content='1; URL=mitarbeiter-aendern.php'>";
    }
            
    while($row = mysql_fetch_array($result))
                {
        echo '
    <form name="form1" method="post" action="m-aendern.php">
      <table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
        <tr> 
          <td width="13" rowspan="15" bgcolor="#999999">&nbsp;</td>
          <td colspan="3" bgcolor="#999999">&nbsp;</td>
          <td width="16" rowspan="15" bgcolor="#999999">&nbsp;</td>
        </tr>
        <tr> 
          <td colspan="3" bgcolor="#CCCCCC"> <div align="center"><font size="5">Mitarbeiter 
              anlegen</font></div></td>
        </tr>
        <tr> 
          <td colspan="3" bgcolor="#CCCCCC">&nbsp;</td>
        </tr>
        <tr> 
          <td width="142" bgcolor="#CCCCCC"> <div align="right">Vorname: </div></td>
          <td width="274" bgcolor="#CCCCCC"><div align="center"> 
              <input name="textfield" type="text" size="40" value="'; echo $row['vorname']; 
              echo '">
            </div></td>
          <td width="55" bgcolor="#CCCCCC">&nbsp;</td>
            </tr>
        <tr> 
          <td bgcolor="#CCCCCC"><div align="right">Nachname: </div></td>
          <td bgcolor="#CCCCCC"><div align="center"> 
              <input name="textfield2" type="text" size="40" value="'; echo $row['nachname']; 
              echo '">
            </div></td>
          <td bgcolor="#CCCCCC">&nbsp;</td>
        </tr>
        <tr> 
          <td bgcolor="#CCCCCC"><div align="right">Betrieb: </div></td>
          <td bgcolor="#CCCCCC"><div align="center"> 
              <input name="textfield3" type="text" size="40" value="'; echo $row['betrieb']; 
              echo '">
            </div></td>
          <td bgcolor="#CCCCCC">&nbsp;</td>
        </tr>
        <tr> 
          <td bgcolor="#CCCCCC"> <div align="right">Funktion: </div></td>
          <td bgcolor="#CCCCCC"><div align="left"> 
                &nbsp;<input name="textfield9" type="text" size="40" value="'; echo $row['funktion']; 
              echo '">
            </div></td>
          <td bgcolor="#CCCCCC">&nbsp;</td>
           </tr>
        <tr> 
          <td bgcolor="#CCCCCC"><div align="right">Kostenstelle: </div></td>
          <td bgcolor="#CCCCCC"><div align="center"> 
              <input name="textfield5" type="text" size="40" value="'; echo $row['kstelle']; 
              echo '">
            </div></td>
          <td bgcolor="#CCCCCC">&nbsp;</td>
        </tr>
        <tr> 
          <td bgcolor="#CCCCCC"><div align="right">Stunden: </div></td>
          <td bgcolor="#CCCCCC"><div align="center"> 
              <input name="textfield6" type="text" size="40" value="'; echo $row['stunden']; 
              echo '">
            </div></td>
          <td bgcolor="#CCCCCC">&nbsp;</td>
            </tr>
        <tr> 
          <td bgcolor="#CCCCCC"><div align="right">Arbeitszeit:</div></td>
          <td bgcolor="#CCCCCC"><div align="center"> 
              <input name="textfield7" type="text" size="40" value="'; echo $row['azeit']; 
              echo '">
            </div></td>
          <td bgcolor="#CCCCCC">&nbsp;</td>
        </tr>
        <tr> 
          <td bgcolor="#CCCCCC"><div align="right">Schule:</div></td>
          <td bgcolor="#CCCCCC"><div align="center"> 
              <input name="textfield8" type="text" size="40" value="'; echo $row['schule']; 
              echo '">
            </div></td>
          <td bgcolor="#CCCCCC">&nbsp;</td>
        </tr>
        <tr> 
          <td bgcolor="#CCCCCC"><div align="right"></div></td>
          <td bgcolor="#CCCCCC"> <div align="left">
              &nbsp;
            </div></td>
          <td bgcolor="#CCCCCC">&nbsp;</td>
        </tr>
        <tr> 
          <td colspan="3" bgcolor="#CCCCCC"><div align="center"> 
              <input type="submit" name="Submit" value="Ändern">
            </div></td>
        </tr>
        <tr>
          <td colspan="3" bgcolor="#CCCCCC">&nbsp;</td>
        </tr>
        <tr> 
          <td colspan="3" bgcolor="#999999">&nbsp;</td>
        </tr>
      </table>
    </form>
    ';
        
        }
        }

    ?>
    Zuletzt geändert von zerberos; 27.08.2006, 11:24.

  • #2
    PHP-Code:
    $result mysql_query("SELECT `id`, `betrieb`, `funktion`,... usw...") or die(mysql_error()); 
    gruss Chris

    [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

    Kommentar


    • #3
      You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
      sagt mir jetzt nicht viel

      aber ich vermute das liegt daran das der die selbe seite nochmal aufruft im formular
      (<form name="form1" method="post" action="m-aendern.php">)

      und der dann keinen zugriff mehr auf die id hat.

      Aber den Update Befehl führt der auch nicht aus...

      Kommentar


      • #4
        Dann mach

        PHP-Code:
        $sql "SELECT `id`, `betrieb`, `funktion`,... usw...";
        die(
        $sql);
        $result mysql_query($sql) or die(mysql_error()); 
        Dann siehst du wenigstens was abgefragt wird.

        EDIT:

        Was ist $Submit ???

        Du meinst sicher $_POST["Submit"]

        gruss Chris

        [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

        Kommentar


        • #5
          You have an error in your SQL syntax;
          na kontrollier mal dein statement, wird wohl ein fehler drinn sein

          brech mal bitte deinen code um, muss ja ewig horiz. scrollen...
          Zuletzt geändert von hall; 27.08.2006, 11:05.
          mfg

          Kommentar


          • #6
            aktueller code:

            PHP-Code:
            <?
            session_start();
            include 'sessionhelpers.inc.php';
            include 'connect.php';

            // Prüfung ob man eingeloggt ist
            if (!logged_in())
                {
                    echo 'nicht eingeloggt ';
                }
            else
                {
                $id=$_GET['id'];

                     $result = mysql_query("SELECT `id`, `betrieb`, `funktion`, `kstelle`, 
            `nachname`, `vorname`, `schule`, `azeit`, `stunden`, `fschein`
             FROM `mitarbeiter` WHERE id=$id") or die(mysql_error());;
                    
            if(isset(POST[Submit]){
            mysql_query("UPDATE mitarbeiter set betrieb=$textfield3 WHERE `id`=$id")or die (mysql_error());
            echo" Job's Done";
            echo "<meta http-equiv='refresh' content='1; URL=mitarbeiter-aendern.php'>";
            }
                    
            while($row = mysql_fetch_array($result))
                        {
                echo '
            <form name="form1" method="post" action="m-aendern.php">
              <table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
                <tr> 
                  <td width="13" rowspan="15" bgcolor="#999999">&nbsp;</td>
                  <td colspan="3" bgcolor="#999999">&nbsp;</td>
                  <td width="16" rowspan="15" bgcolor="#999999">&nbsp;</td>
                </tr>
                <tr> 
                  <td colspan="3" bgcolor="#CCCCCC"> <div align="center"><font size="5">Mitarbeiter 
                      anlegen</font></div></td>
                </tr>
                <tr> 
                  <td colspan="3" bgcolor="#CCCCCC">&nbsp;</td>
                </tr>
                <tr> 
                  <td width="142" bgcolor="#CCCCCC"> <div align="right">Vorname: </div></td>
                  <td width="274" bgcolor="#CCCCCC"><div align="center"> 
                      <input name="textfield" type="text" size="40" value="'; echo $row['vorname']; 
                      echo '">
                    </div></td>
                  <td width="55" bgcolor="#CCCCCC">&nbsp;</td>
                    </tr>
                <tr> 
                  <td bgcolor="#CCCCCC"><div align="right">Nachname: </div></td>
                  <td bgcolor="#CCCCCC"><div align="center"> 
                      <input name="textfield2" type="text" size="40" value="'; echo $row['nachname']; 
                      echo '">
                    </div></td>
                  <td bgcolor="#CCCCCC">&nbsp;</td>
                </tr>
                <tr> 
                  <td bgcolor="#CCCCCC"><div align="right">Betrieb: </div></td>
                  <td bgcolor="#CCCCCC"><div align="center"> 
                      <input name="textfield3" type="text" size="40" value="'; echo $row['betrieb']; 
                      echo '">
                    </div></td>
                  <td bgcolor="#CCCCCC">&nbsp;</td>
                </tr>
                <tr> 
                  <td bgcolor="#CCCCCC"> <div align="right">Funktion: </div></td>
                  <td bgcolor="#CCCCCC"><div align="left"> 
                        &nbsp;<input name="textfield9" type="text" size="40" value="'; echo $row['funktion']; 
                      echo '">
                    </div></td>
                  <td bgcolor="#CCCCCC">&nbsp;</td>
                   </tr>
                <tr> 
                  <td bgcolor="#CCCCCC"><div align="right">Kostenstelle: </div></td>
                  <td bgcolor="#CCCCCC"><div align="center"> 
                      <input name="textfield5" type="text" size="40" value="'; echo $row['kstelle']; 
                      echo '">
                    </div></td>
                  <td bgcolor="#CCCCCC">&nbsp;</td>
                </tr>
                <tr> 
                  <td bgcolor="#CCCCCC"><div align="right">Stunden: </div></td>
                  <td bgcolor="#CCCCCC"><div align="center"> 
                      <input name="textfield6" type="text" size="40" value="'; echo $row['stunden']; 
                      echo '">
                    </div></td>
                  <td bgcolor="#CCCCCC">&nbsp;</td>
                    </tr>
                <tr> 
                  <td bgcolor="#CCCCCC"><div align="right">Arbeitszeit:</div></td>
                  <td bgcolor="#CCCCCC"><div align="center"> 
                      <input name="textfield7" type="text" size="40" value="'; echo $row['azeit']; 
                      echo '">
                    </div></td>
                  <td bgcolor="#CCCCCC">&nbsp;</td>
                </tr>
                <tr> 
                  <td bgcolor="#CCCCCC"><div align="right">Schule:</div></td>
                  <td bgcolor="#CCCCCC"><div align="center"> 
                      <input name="textfield8" type="text" size="40" value="'; echo $row['schule']; 
                      echo '">
                    </div></td>
                  <td bgcolor="#CCCCCC">&nbsp;</td>
                </tr>
                <tr> 
                  <td bgcolor="#CCCCCC"><div align="right"></div></td>
                  <td bgcolor="#CCCCCC"> <div align="left">
                      &nbsp;
                    </div></td>
                  <td bgcolor="#CCCCCC">&nbsp;</td>
                </tr>
                <tr> 
                  <td colspan="3" bgcolor="#CCCCCC"><div align="center"> 
                      <input type="submit" name="Submit" value="Ändern">
                    </div></td>
                </tr>
                <tr>
                  <td colspan="3" bgcolor="#CCCCCC">&nbsp;</td>
                </tr>
                <tr> 
                  <td colspan="3" bgcolor="#999999">&nbsp;</td>
                </tr>
              </table>
            </form>
            ';
                
                }
                }

            ?>

            Kommentar


            • #7
              Und das funktioniert jetzt oder warum postest du den Code?
              gruss Chris

              [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

              Kommentar


              • #8
                Ne das funktioniert eben noch nicht. Da kommt immernoch folgendes:

                You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

                der Fehler kommt allerdings erst, nachdem man auf den Button abändern klickt

                Kommentar


                • #9
                  Ich hasse sowas

                  PHP-Code:
                  if(isset(POST[Submit]){
                  $sql "UPDATE mitarbeiter set betrieb=$textfield3 WHERE `id`=$id";
                  die(
                  $sql);
                  mysql_query($sql)or die (mysql_error()); 
                  Was G E N A U kommt dabei raus ?
                  gruss Chris

                  [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                  Kommentar


                  • #10
                    mysql_query("UPDATE mitarbeiter set betrieb=$textfield3 WHERE `id`=$id")or die (mysql_error());
                    mysql_query("UPDATE mitarbeiter set betrieb='$textfield3' WHERE `id`=$id")or die (mysql_error());

                    im SELECT ist soweit kein Fehler, das heisst man müsste die query sehen, vermutlich ist die $id eben leer. $_GET, aber das Formular hat method=PROST .

                    Dazu noch ist es fragwürdig, zuerst ein SELECT, dann ein UPDATE, dann die alten Daten ausgeben, vermischt mit einem refresh ohne exit.

                    Der hat noch was vor an diesem Sonntag.

                    Kommentar

                    Lädt...
                    X