Hallo,
ich habe folgendes Problem. Ein vorhandener Datensatz soll geändert
werden. Dazu wird ein Datensatz ausgewählt und dessen Inhalt in die
einzelnen Felder des Änderungsformular eingetragen. Soweit klappt alles
super. Nimmt man nun die Änderungen vor und sendet sie ab, übernimmt
die Änderungen eine weitere PHP-Datei, welche die Änderungen mittels
einer Update-Anweisung in die Datenbank zurückschreiben soll. Daran
haperts nun leider noch. Tabellen, Datenbank und Feldnamen habe ich
mehrfach überprüft und das ganze auch mal manuell in der mySQL-Konsole problemlos ausgeführt.
Hier zunächst die PHP-Datei, welche das Update durchführen soll:
Die Daten für das Update stammen aus folgender PHP-Datei und werden auch korrekt übertragen:
ich habe folgendes Problem. Ein vorhandener Datensatz soll geändert
werden. Dazu wird ein Datensatz ausgewählt und dessen Inhalt in die
einzelnen Felder des Änderungsformular eingetragen. Soweit klappt alles
super. Nimmt man nun die Änderungen vor und sendet sie ab, übernimmt
die Änderungen eine weitere PHP-Datei, welche die Änderungen mittels
einer Update-Anweisung in die Datenbank zurückschreiben soll. Daran
haperts nun leider noch. Tabellen, Datenbank und Feldnamen habe ich
mehrfach überprüft und das ganze auch mal manuell in der mySQL-Konsole problemlos ausgeführt.
Hier zunächst die PHP-Datei, welche das Update durchführen soll:
PHP-Code:
<html>
<body>
<?php
$db = mysql_connect();
$sqlab = "update tbl_hotels set Kategorie = '$neukat',";
$sqlab .= "Name = '$neuname',";
$sqlab .= "Beschreibung = '$neubesch',";
if ($neufoto != Null)
{
$sqlab .= "URL = '$neufoto',";
}
$sqlab .= "where IDNr = $oriid";
mysql_db_query("reisen", $sqlab);
$num = mysql_affected_rows();
if ($num>0)
echo "Der Datensatz Nr. $oriid wurde geändert<p>";
else
echo "Der Datensatz Nr. $oriid wurde nicht geändert<p>";
mysql_close($db);
?>
Zurück zur <a href="auswahlh.php">Auswahl</a>
</body>
</html>
PHP-Code:
<html>
<body>
<?php
if (isset($auswahl))
{
$db = mysql_connect();
$sqlab = "select * from tbl_hotels where";
$sqlab .= " IDNr = $auswahl";
$res = mysql_db_query("reisen", $sqlab);
$altkat = mysql_result($res, 0, "Kategorie");
$altname = mysql_result($res, 0, "Name");
$altbesch = mysql_result($res, 0, "Beschreibung");
$altfoto = mysql_result($res, 0, "URL");
echo "Ausgewählt ist Datensatz Nr. $auswahl<br>";
echo "Führen Sie die Änderungen durch und betätigen Sie anschließend den Button<p>";
echo "<form action = 'aendern2h.php' method = 'post'>";
echo "<table border=1 width=100%>";
echo "<tr> <td>Kategorie:</td>";
echo "<td> <input name='neukat' size='10' value='$altkat'></td> </tr>";
echo "<tr> <td>Name:</td>";
echo "<td> <input name='neuname' size='30' value='$altname'></td> </tr>";
echo "<tr> <td>Beschreibung:</td>";
echo "<td> <textarea name='neubesch' cols='40' rows='5' >$altbesch</textarea></td> </tr>";
echo "<tr> <td>Foto URL:</td>";
echo "<td> <input type='file' name='neufoto' size='50'></td> </tr>";
echo "</table>";
echo "<input type='hidden' name='oriid' value='$auswahl'><br>";
echo "<input type='submit' value='Änderungen in Datenbank speichern'>";
echo "<input type='reset'>";
echo "</form>";
mysql_close($db);
}
else
echo "Es wurde kein Datensatz ausgewählt<p>";
?>
</body>
</html>
Wie gesagt, das Formular funzt fehlerfrei und es wird auch die
Datensatznummer für das spätere Update korrekt übernommen. Trotzdem
wird immer die Meldung ausgegeben, dass der Datensatz nicht gespeichert
wurde. Fällt euch spontan ein Fehler auf, den ich trotz mehrmaligen
durchsehens übersehen habe?
Viele Grüße
Sascha
Kommentar