UPDATE mit PDO

PHP:
<?php

$parameter = $_GET["parameter"];

$statement = $pdo->prepare("SELECT * FROM bw WHERE bw_code = :bw_code");
$statement->execute(array(':bw_code' => $parameter));
while($row = $statement->fetch()) {

echo '<form action="#" method="post">

<div class="col-lg-6 col-xs-12">
                                        <div class="form-group">
                                            <label for="fa_vorname">Vorname:</label>
                                            <input type="text" class="form-control" id="fa_vorname" name="fa_vorname" value="'.$row["fa_vorname"].'">
                                          </div>
                                </div>
                                <div class="col-lg-6 col-xs-12">
                                        <div class="form-group">
                                            <label for="fa_nachname">Nachname:</label>
                                            <input type="text" class="form-control" id="fa_nachname" name="fa_nachname" value="'.$row["fa_nachname"].'">
                                          </div>
                                </div>
</div>
<input type="hidden" class="form-control" id="bw_code" name="bw_code" value="'.$row["bw_code"].'">
                        <button type="submit" class="btn btn-success btn-sm">Bewerbung ändern</button>'

?>
<?php
}
?>
 
Auslesen und Anzeigen ohne Update. Auch schön.
Wird nicht funktionieren, da $paramter nicht definiert ist.
 
sorry.. Habe es nachträglich eingesetzt..

Das war die Ausgabe... Die Daten der Datenbank spiegeln sich wieder in den Inputfeldern..

Jetzt will ich die Daten ändern

PHP:
$parameter = $_GET["parameter"];



$sql = "update bw set fa_vorname = fa_vorname, fa_nachame = fa_nachname where bw_code = :parameter";
$sth = $pdo->prepare($sql);
$sth->bindParam('parameter', $parameter, PDO::PARAM_INT);
$sth->execute();


$statement = $pdo->prepare("SELECT * FROM bw WHERE bw_code = :bw_code");
$statement->execute(array(':bw_code' => $parameter));  
while($row = $statement->fetch()) {

<div class="col-lg-6 col-xs-12">....</div>


}
 
Das Formular wird nirgends ausgewertet. Du kannst im Moment ins Formular eintragen was du willst, es kommt gar nix davon im PHP an.
Das hat noch gar nix mit SQL zu tun sondern ist das 1*1 von PHP und Formularen.

Also, zurück an den Schreibtisch und die Daten aus dem Formular in PHP-Variablen setzen.
Das heisst $_POST auswerten. Auf submit prüfen und die Variabeln abfüllen.

Danach können wir uns um das SQL kümmern.
 
aber durch das
Code:
value="'.$row["fa_nachname"].'"
erscheint es doch in den Eingabefeldern ?

bin ich denn jetzt total neben der Spur ?
 
Im Formular. Ja.
Aber die Daten, die der User dann im Formular überschreibt, wie kommen diese ins PHP?

PHP->HTML(Formular)->Userchanges->Submit->PHP
 
oder meinst du sowas ?
PHP:
$_POST['fa_vorname'] = '';
        $_POST['fa_nachname'] = '';
Jein
Du verwendest $_POST. Das ist schon mal ein Anfang. Aber statt auslesen überschreibst du. Der User kann was eingeben und du setzt es auf einen Leerstring

Eine Bitte an dich: Studiere ein PHP. Handbuch zum Thema Formular
Du bist schon länger mit PHP unterwegs und wir reden hier über den Vorkindergartenstoff des PHP-Programmierens.
zB: http://php.net/manual/de/tutorial.forms.php
 
Soweit bin ich jetzt gekommen....

Code:
$pdo = new PDO('mysql:host=rdbms.strato.de;dbname=DB2926335', 'U2926335', 'Crowe2017');

$daten_aendern = array();
$daten_aendern['fa_vorname'] = $_POST["fa_vorname"];
$daten_aendern['fa_nachname'] = $_POST["fa_nachname"];

$parameter = $_GET["parameter"];



$sql = "update bw set fa_vorname = fa_vorname, fa_nachame = fa_nachname where bw_code = :parameter";
$sth = $pdo->prepare($sql);
$sth->bindParam('parameter', $parameter, PDO::PARAM_INT);
$sth->execute($daten_aendern);


$statement = $pdo->prepare("SELECT * FROM bw WHERE bw_code = :bw_code");
$statement->execute(array(':bw_code' => $parameter));  
while($row = $statement->fetch()) {

echo ' <div class="col-lg-6 col-xs-12">...</div>'

}


Aber es will immer noch nicht...
 
Der Erste Teil ist doch schon mal was. Jetzt hast du die Daten in einem Array.
Jetzt musst du sie nur noch ins SQL einbauen

So sollte das gehen.
PHP:
$sql = "update bw set fa_vorname = :fa_vorname, fa_nachame = :fa_nachname where bw_code = :parameter";
$sth = $pdo->prepare($sql);
$sth->bindParam(':parameter', $parameter, PDO::PARAM_INT);
$sth->bindParam(':fa_vorname', $daten_aendern['fa_vorname'], PDO::PARAM_STR);
$sth->bindParam(':fa_nachname', $daten_aendern['fa_nachname'], PDO::PARAM_STR);
$sth->execute();
 
Zurück