Informatik

Grundkurs 1
 
Einen Datensatz ändern
 
Hier wurden die Daten mit der "GET-Methode" weitergereicht, also erfolgt die Variablenübergabe mit "$_REQUEST" oder "$_GET":

  $snr    = $_REQUEST['snr'];
  $pnr    = $_REQUEST['pnr'];
Nun wird wiederum die Verbindung zur Datenbank aufgebaut, dann ein Formular erstellt, um ein Editieren der Daten zu ermöglichen:

<form action="aendern.php" method="POST">
<table width="90%" border="1" cellpadding="6">
<tr>
  <th colspan="2"><b>Fundsache</b></th>
  <th colspan="2"><b>Finder</b></th>
</tr>
<tr>
  <td>Bezeichnung</td>
  <td><input type="text" size="20" name="bez"
  value="<?php echo mysql_result($result, 0, "bezeichnung")?>"></td>
  ...
Um die Variablen snr und pnr weiterreichen zu können, erhalten sie zwei versteckte Formularfelder, dabei müssen die doppelten Hochkommas maskiert werden, um einen Abbruch der Zeichenkette zu verhindern:

<?
  echo "<input type=\"hidden\" name=\"snr\" value=$snr>";
  echo "<input type=\"hidden\" name=\"pnr\" value=$pnr>";
?>
Mit dem Submit-Button wird die Aktion "aendern.php" ausgelöst:

  <input type="submit" name="aendern" value="wirklich ändern?">
  <input name="abbruch" value="abbrechen" type="reset">

In "aendern.php" werden nun alle Variablen übernommen, eine Verbindung zur Datenbank aufgebaut und in zwei SQL-Befehlen Sache und Person mit den geänderten Inhalten überschrieben. Auf ein Update von "fund" wurde hier verzichtet, da sich snr und pnr nicht ändern.
  $query1 = "update sache set bezeichnung='$bezeichnung',
                              fundort='$fundort',
                              datum='$datum'
             where snr=$snr";
  $result1 = mysql_query($query1);
  $query2 = "update person set vorname='$vorname',
                               name='$name',
                               tel='$telefon',
                               email='$email'
             where pnr=$pnr";
  $result2 = mysql_query($query2);
  if ( $result1 && $result2 ) {
    echo "Erfolgreich geändert!";
  }


 

Pfeil

verantw.: J. Frank