PHP 4.3

13.6.1 Erzeugen eines Änderungsformulars

Der Einfachheit halber gehen wir zuerst davon aus, dass die Daten einer einzigen Kundin geändert werden können, und zwar von Frau Helga Krause mit der Kundennummer 19283746. Um dem Benutzer die aktuellen Daten von Frau Krause anzeigen zu können, müssen wieder alle bisher beschriebenen Schritte durchgeführt werden, um sie aus der Datenbank zu lesen:

<?php
//Schritt 1: Verbindungsaufbau
$verbindung = mysql_connect("localhost", "", "");
mysql_select_db("versandhaus", $verbindung);

//Schritt 2: Daten anfordern
$adresse = mysql_query("SELECT * FROM kunden WHERE kundennr = 19283746", $verbindung);

//Schritt 3: Daten ausgeben
$zeile = mysql_fetch_array($adresse);
?>
<form name="adressaenderung" method="post" action="aendern.php">
<input type="hidden" name="kundennr" value="<?php echo $zeile["kundennr"] ?>">
Anrede: <input type="text" name="anrede" value="<?php echo $zeile["anrede"] ?>"><br>
Vorname: <input type="text" name="vorname" value="<?php echo $zeile["vorname"] ?>"><br>
Nachname: <input type="text" name="nachname" value="<?php echo $zeile["nachname"] ?>"><br>
Adresse: <input type="text" name="adresse" value="<?php echo $zeile["adresse"] ?>"><br>
PLZ: <input type="text" name="postleitzahl" value="<?php echo $zeile["postleitzahl"] ?>"><br>
Ort: <input type="text" name="ort" value="<?php echo $zeile["ort"] ?>"><br>
<input type="submit" name="aendern" value="ändern">
</form>

<?php
//Schritt 4: Verbindung beenden
mysql_close($verbindung);
?>

Wie Sie sehen, werden hier die Daten in Textfeldern ausgegeben, damit der Benutzer alle Werte sehen, aber auch ändern kann. Die einzige Ausnahme bildet die Kundennummer, da sie den Kunden eindeutig identifiziert und deshalb nicht nachträglich verändert werden sollte.

Außerdem ist eine weitere Neuerung in diesem Code enthalten. In diesem Fall brauchen wir nicht die gesamte Liste der Kunden, sondern nur einen einzigen Datensatz aus der Datenbank. Da Sie die Kundennummer dieses Datensatzes wissen, kann die SQL-Abfrage an die Datenbank so formuliert werden:

  SELECT * FROM kunden WHERE kundennr = 19283746

Kommentare (0)

Ihr Kommentar

Name