• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Update

Status
Für weitere Antworten geschlossen.

mbu

Neues Mitglied
Hallo,

ich hab folgendes php-script geschrieben:
PHP:
<?php
include 'config.php';

    @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());
                             
                     $id = $_GET["id"];
                     $result = mysql_query ("SELECT artikelnummer, beschreibung, hersteller, herstellernummer, menge, reihe, fach, bemerkung FROM list WHERE ID = ".$_GET["id"]);
                     
                        if($result)
                     {
            $row = mysql_fetch_row($result);

echo "        <center><table width='99.5%' style='border-width:2px; border-color:#96aef3; border-style:dashed; padding:5px;'>\n";
echo "           \t<tr>\n";
echo "           \t\t<td><h3><font face='Comic Sans MS'>Formular: aendern.php</font></h4>\n";
echo "             <center><table border='0' width='60%'>\n";
echo "                    <form method='POST' action='aendern.php'>\n";
echo "               \t<tr>\n";
echo "                     \t\t<td><font face='Comic Sans MS'>Artikelnummer:</font></td>\n";
echo "                     \t\t<td width='100%'><input size='100%' type='text' name='artikelnummer' value='".$row[0]."'></input><td>\n";
echo "                     \t\t<td></td>\n";
echo "               \t</tr>\n";
echo "                   \t<tr>\n";
echo "                     \t\t<td><font face='Comic Sans MS'>Beschreibung:</font></td>\n";
echo "                       \t\t<td width='100%'><input size='100%' type='text' name='beschreibung' value='".$row[1]."'></td>\n";
echo "                       \t\t<td></td>\n";
echo "               \t</tr>\n";
echo "                   \t<tr>\n";
echo "                     \t\t<td><font face='Comic Sans MS'>Hersteller:</font></td>\n";
echo "                       \t\t<td width='100%'><input size='100%' type='text' name='hersteller' value='".$row[2]."'></td>\n";
echo "                       \t\t<td></td>\n";
echo "               \t<tr>\n";
echo "                     \t\t<td><font face='Comic Sans MS'>Herstellernumemr:</font></td>\n";
echo "                     \t\t<td width='100%'><input size='100%' type='text' name='herstellernummer' value='".$row[3]."'></td>\n";
echo "                     \t\t<td></td>\n";
echo "               \t</tr>\n";
echo "                   \t<tr>\n";
echo "                     \t\t<td><font face='Comic Sans MS'>Menge:</font></td>\n";
echo "                       \t\t<td width='100%'><input size='100%' type='text' name='menge' value='".$row[4]."'></td>\n";
echo "               \t</tr>\n";
echo "                   \t<tr>\n";
echo "                     \t\t<td><font face='Comic Sans MS'>Reihe:</font></td>\n";
echo "                       \t\t<td width='100%'><input size='100%' type='text' name='reihe' value='".$row[5]."'></td>\n";
echo "                       \t\t<td></td>\n";
echo "               \t<tr>\n";
echo "                     \t\t<td><font face='Comic Sans MS'>Fach:</font></td>\n";
echo "                     \t\t<td width='100%'><input size='100%' type='text' name='fach' value='".$row[6]."'></td>\n";
echo "                     \t\t<td></td>\n";
echo "               \t</tr>\n";
echo "                   \t<tr>\n";
echo "                     \t\t<td><font face='Comic Sans MS'>Bemerkung:</font></td>\n";
echo "                       \t\t<td width='100%'><input size='100%' type='text' name='bemerkung' value='".$row[7]."'></td>\n";
echo "                      \t\t<td><input type='submit' name='submit' value='Speichern'/></td>\n";
echo "               \t</tr>\n";
echo "             </table>\n";
echo "             </tr>\n";

echo "            </table>\n";
echo "            </form>\n";
    
    
                     }
                     else
                         {
                               echo "Eintrag konnte nicht angezeigt werden werden: " .mysql_error(). "</br>";    
                             print "<a href='javascript:history.back()'>";
                            print "zurück";
                             print "</a>";
                         }
        
        $Submit= $_POST['Submit'];
    if ($Submit)
    {   
        $input1 = $_POST['artikelnummer'];
        $input2 = $_POST['beschreibung'];
        $input3 = $_POST['hersteller'];
        $input4 = $_POST['herstellernummer'];
        $input5 = $_POST['menge'];
        $input6 = $_POST['reihe'];
        $input7 = $_POST['fach'];
        $input8 = $_POST['bemerkung'];    
                        
        
        $update = "UPDATE list SET artikelnummer, beschreibung, hersteller, herstellernummer, menge, reihe, fach, bemerkung VALUES 0,1,2,3,4,5,6,7 WHERE ID = ".$_GET["id"];
        $updaten = mysql_query ($update);
        print "    $update";
    }
        
                        
  echo "        <p align='center'><a href='index.php'>Zurück zur Startseite </a></p>";                       
?>
Mit diesem Script will sich Datensätze überarbeiten/verändern.
Die Datensätze werden von index.php gehohlt und in die Textfelder eingetragen. Dort kann ich sie auch verändern, bloß wenn ich dann auf den Submit Button klick, kommt die fehlermeldung Submit
Undefined index: Submit. Was mache ich falsch
 
Code:
[COLOR=#000000][COLOR=#dd0000]UPDATE list SET artikelnummer, beschreibung, hersteller, herstellernummer, menge, reihe, fach, bemerkung VALUES 0,1,2,3,4,5,6,7 WHERE ID = "[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]$_GET[/COLOR][COLOR=#007700][[/COLOR][COLOR=#dd0000]"id"[/COLOR][COLOR=#007700]];[/COLOR][/COLOR]

Das soll funktionieren ?

Ich kenne das nur so ...

Code:
[COLOR=#007700]UPDATE tabelle SET feld1 = feldWert, feld2 = feld2Wert WHERE feldxy = 1;[/COLOR][COLOR=#000000][/COLOR]

Oder irre ich mich da ?! Ich weiß nicht ob das Dein Problem ist aber ich könnte mir vorstellen das das eins werden könnte.

Zudem machst Du folgendes ...

PHP:
$id = $_GET["id"];
$result = mysql_query ("SELECT artikelnummer, beschreibung, hersteller, herstellernummer, menge, reihe, fach, bemerkung FROM list WHERE ID = ".$_GET["id"]);

Wieso verwendest Du dann nicht auch die "$id" in der Abfrage?
Noch ein Tipp von mir, überprüfe mit is_numeric(); ob die Werte der ID numerisch sind.

Gruß Sven
 
Da ich noch nicht einmal in die untere if Schleife reinkomme,führt er sie mir nicht aus. Eigentlich sollte es so sein:
1. ich bearbeite das Formular (die alten datensätze werden angezeigt (values=..))
2. drücke auf speicher/ submit button
3. der öffnet nochmal die seite (action='aendern.php' method='post')
4. müsste jetzt in die unterste Schleife gehn und das update machen.
d.h. die veränderten Datensätze speicher.

Bitte Antwortet
 
Wie schon gesagt wurde, ist die Syntax von deinem Update Befehl nicht richtig !
So kannst du keine Datensätze aktualisieren...
 
Mach mal eine Ausgabe von $update am ende deines Scriptes, und vergleiche den Aufbau mit folgendem:

Code:
UPDATE tabelle SET feld1 = feldWert, feld2 = feld2Wert WHERE feldxy = 1;
 
Du hast einen Submitbutton namens Submit ?
Das könnte Probleme geben ...

Wie lautet der NAME des Submitbuttons ?

Code:
<input type="submit" name="sender" value="Abschicken">
Als Beispiel ...

Du musst den NAMEN (name) mit POST abfragen nicht den type.

Da ich noch nicht einmal in die untere if Schleife reinkomme,führt er sie mir nicht aus. Eigentlich sollte es so sein:

if = Abfrage / Bedingung !

for|while|do while = Schleifen !
 
Hallo,

das mit submit als Name ist ok, nutz ich auch so. Vl. liegt es an der Groß- Kleinschreibung, probier mal $Submit = $_POST ['submit']; Ich verwende allerdings immer
PHP:
if (isset ($_POST ['submit'])) {}
um zu überprüfen, ob der submit Button angeklickt wurde.


N43
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben