[PHP] Wie SQL-Update über Formular realisieren?

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Judoki, 20. Juni 2012 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 20. Juni 2012
    Wie SQL-Update über Formular realisieren?

    Ich möchte ein einfaches SQL-Update eines Datensatzes über PHP mit einem Formular umsetzen.

    Vorstellung:
    Ich habe bereits einen Datensatz (z.B. Adressdaten eines Kunden). Als der Kunde seinen Account angelegt hatte, musste er ein Formular ausfüllen. Ich möchte bei Klick auf "Adressdaten bearbeiten" genau dieses Formular mit den bereits ausgefüllten Adressdaten des Users aufrufen, damit der User seine entsprechenden Änderungen vornehmen kann. Bei Klick auf "Senden" sollte das SQL-Update ausgeführt werden und der Datensatz unter der gleichen ID geändert werden.

    Habe bereits gegoogelt, jedoch keine Lösung dafür gefunden. Leider kenn ich mich in PHP noch nicht so gut aus, dass ich dieses Script schnell selber schreiben kann. Sollte für einen PHP-Profi eigentlich recht einfach zu lösen sein denke ich.

    Vielen Dank für Eure Hilfe!
     
  2. 20. Juni 2012
    AW: Wie SQL-Update über Formular realisieren?

    Das zählt unter "Grundwissen".

    Deine Stichworte sind "Select" zum lesen der Daten und "Update" zum verändern der Daten.
     
  3. 20. Juni 2012
    AW: Wie SQL-Update über Formular realisieren?

    Leider hilft mir das so nicht weiter. Ich weiß was ein SELECT ist und auch was ein UPDATE ist und dass ich das brauche um mein Vorhaben zu realisieren. Mir gehts darum, wie es in Verbindung mit einem Formular gelöst wird. Falls ihr Seiten kennt in denen das nachzulesen ist, gerne her damit. Aber bitte keine Lektüre, in die ich mich stundenlang einlesen muss, dazu habe ich gerade keine Zeit (sonst würde ich sowas hier nicht fragen)
     
  4. 20. Juni 2012
    AW: Wie SQL-Update über Formular realisieren?

    Versteh das Problem nicht so genau, das du hast?
    Ist genauso wie das speichern eines neuen Datensatzes über ein Formular mit INSERT nur diesmal halt mit UPDATE.

    Du lädst den aktuellen Datensatz in dein Formular (value="").
    Dann bearbeitest du dein Formular und schickst es ab.
    Und jetzt bearbeitest du den Datensatz mit UPDATE und den aktuellen Werten aus dem Formular.

    Wichtig ist noch, dass du die id mit übergibst, dass er auch die richtige Zeile updatet

    Beispiel: PHP MySQL Update

    Gruß
    gl
     
  5. 20. Juni 2012
    AW: Wie SQL-Update über Formular realisieren?

    Du hast folgende Tabelle:
    Code:
    CREATE TABLE `texte` (
     `id` int(11) NOT NULL auto_increment,
     `text` varchar(255) NOT NULL default ''
     PRIMARY KEY (`id`)
    ) AUTO_INCREMENT=1;
    
    Dann kannst du mit folgender Query einen Eintrag bearbeiten:
    Code:
    UPDATE `texte` SET text = 'Mein neuer Text' WHERE id = 1;
    Das HTML Formular sieht dann folgendermaße aus:
    PHP:
    // Werte aus Datenbank lesen
    $id = // Id aus Datenbank
    $text = // Text aus Datenbank
    ...
    <form action="update.php" method="post">
       <input type="hidden" name="id" value="<?php  echo  $id ?>" />
       <input type="text" name="text" value="<?php  echo  $text ?>" />
       <input type="submit" />
    </form>
    Wenn das Formular abgeschickt wird, hast du alles was du brauchst:
    PHP:
    $id  $_POST [ 'id' ];
    $text  $_POST [ 'text' ];
    $sql  "UPDATE `texte` SET text = '" . $text . "' WHERE id = " . $id ;

    // SQL ausführen
    Gruß
    Wollknoll
     
    1 Person gefällt das.
  6. 20. Juni 2012
    AW: Wie SQL-Update über Formular realisieren?


    Bei dem SQL-Code von Wollknoll kann dir schnell jemand schaden zufügen! Stichwort: SQL-Injection

    PHP:
    $id  $_POST [ 'id' ];
    $text  $_POST [ 'text' ];
    $sql  "UPDATE `texte` SET text = '" . mysql_real_escape_string ( $text ). "' WHERE id = " .(int) $id ;

    // SQL ausführen
     
    1 Person gefällt das.
  7. 21. Juni 2012
    Zuletzt bearbeitet: 21. Juni 2012
    AW: Wie SQL-Update über Formular realisieren?

    Super, danke wollknoll für die ausführliche Beschreibung. Habe aber noch Fragen dazu.

    Also mir ist noch nicht ganz klar wie die vorhandenen Daten automatisch in das Formular geladen werden. Besser gesagt ich weiß nicht was ich damit anfangen soll:

    PHP:
    // Werte aus Datenbank lesen 
    $id  // Id aus Datenbank 
    $text  // Text aus Datenbank 
    ... 
    Ich habe das schon so eingegeben mit <?php ?> drumherum, aber auf dem Server wird immer eine Fehlermeldung angezeigt "unexpected ";" on line...".


    Diesen Teil habe ich bereits auf meine Datenbank umgesetzt:

    PHP:
    <form action="update.php" method="post"> 
       <input type="hidden" name="id" value="<?php  echo  $id ?>" /> 
       <input type="text" name="text" value="<?php  echo  $text ?>" /> 
       <input type="submit" /> 
    </form>
    Dann habe ich noch eine Frage zur SQL UPDATE (update.php):

    Kann ich bei mehreren Spalten einfach mit Komma trennen, also so?

    PHP:
    $sql  "UPDATE `benutzerdaten` SET vorname = '" . $vorname . "', nachname = '" . $nachname . "', telefon = '" . $telefon . "', email = '" . $email . "' WHERE id = " . $id ;

    *edit

    Hat sich erledigt, habs hinbekommen. Danke euch!
     
  8. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.