Hallo erstmal,
ich hoffe ich finde mit Eurer Hilfe die Lösung für mein Problem.
Ich habe eine MySQL-Datenbank. Bei der Ausgabe der Datenbank in eine HTML-Tabelle wird in die letzte Spalte des Datensatzen ein Link zum löschen und einer zum Editieren gesetzt.
Klicke ich auf editieren, wird der Datensatz erfolgreich in ein Formular geladen, wobei jeder Wert ein eigenes Textfeld bekommt. Dort kann ich nun andere Daten eingeben.
Die Ausgabe erfolgt über folgenden Code :
Mit
wird dem Textfeld der Name des Tabellenfeldes zugewiesen. Das funktioniert auch. Die Namen sind dann titel, rooms, qm, beschr, plz, ort und mietpreis.
Nach der Änderung der Daten in den Textfeldern sollen nun über einen Link "Editieren" die Daten in der entsprechende Zeile geändert werden. Die update-Funktion habe ich in die selbe php-Datei gepackt wie die Funktion, die die Daten aus der DB ausliest und in die Textfelder schreibt.
Hinter dem Link verbirgt sich folgender php-Code :
Die ID übergibt den Primärschlüssel damit auch der entsprechende Datensatz geändert wird.
Wenn ich auf diesen Link klicke soll folgendes ausgeführt werden :
Die Variable $what wird auch korrekt übergeben, nur werden die Einträge in der Datenbank nicht abgeändert.
Woran kann das liegen ?
ich hoffe ich finde mit Eurer Hilfe die Lösung für mein Problem.
Ich habe eine MySQL-Datenbank. Bei der Ausgabe der Datenbank in eine HTML-Tabelle wird in die letzte Spalte des Datensatzen ein Link zum löschen und einer zum Editieren gesetzt.
Klicke ich auf editieren, wird der Datensatz erfolgreich in ein Formular geladen, wobei jeder Wert ein eigenes Textfeld bekommt. Dort kann ich nun andere Daten eingeben.
Die Ausgabe erfolgt über folgenden Code :
PHP:
$sql = "select * from vermietung where nummer=$what";
$erg = mysql_query ($sql);
echo "<table><tr>";
while ($row = mysql_fetch_row ($erg))
{
echo "<tr>";
$id=$row[0];
echo "<tr><td>Titel:</td><td><input type=text size='90' value=\"".$row[1]."\" name=\"".mysql_field_name($erg, 1)."\"></td></tr>";
echo "<tr><td>Räume:</td><td><input type=text size='90' value=\"".$row[2]."\" name=\"".mysql_field_name($erg, 2)."\"></td></tr>";
echo "<tr><td>Quadratmeter:</td><td><input type=text size='90' value=\"".$row[3]."\" name=\"".mysql_field_name($erg, 3)."\"></td></tr>";
echo "<tr><td>Beschreibung:</td><td><input type=text size='90' value=\"".$row[4]."\" name=\"".mysql_field_name($erg, 4)."\"></td></tr>";
echo "<tr><td>PLZ:</td><td><input type=text size='90' value=\"".$row[5]."\" name=\"".mysql_field_name($erg, 5)."\"></td></tr>";
echo "<tr><td>Ort:</td><td><input type=text size='90' value=\"".$row[6]."\" name=\"".mysql_field_name($erg, 6)."\"></td></tr>";
echo "<tr><td>Mietpreis:</td><td><input type=text size='90' value=\"".$row[7]."\" name=\"".mysql_field_name($erg, 7)."\"></td></tr>";
echo "</tr>";
}
echo "</table>";
echo "<td><a href=\"vm.php?submit=update&table=vermietung&what=".$id."\">Editieren</a></td>";
}
Mit
PHP:
\"".mysql_field_name($erg, 7)."\"
Nach der Änderung der Daten in den Textfeldern sollen nun über einen Link "Editieren" die Daten in der entsprechende Zeile geändert werden. Die update-Funktion habe ich in die selbe php-Datei gepackt wie die Funktion, die die Daten aus der DB ausliest und in die Textfelder schreibt.
Hinter dem Link verbirgt sich folgender php-Code :
PHP:
echo_"<td><a href=\"vm.php?submit=update&table=vermietung&what=".$id."\">Editieren</a></td>";
Die ID übergibt den Primärschlüssel damit auch der entsprechende Datensatz geändert wird.
Wenn ich auf diesen Link klicke soll folgendes ausgeführt werden :
PHP:
if ($submit == "update")
{
$res="UPDATE vermietung SET titel=$titel, rooms=$rooms, qm=$qm, beschr=$beschr, plz=$plz, ort=$ort, mietpreis=$mietpreis WHERE nummer = '$what'";
mysql_query($res, $db);
}
Woran kann das liegen ?