Ich hänge schon seid tagen an ein und der selben funktion.
Ich poste sie einfach mal.
Leider funzt das Update nicht.
Da ich ja mehrere Einträge in der entsprechenden Tabelle habe, sollen auch nur bestimmte einträge aktualisiert werden.
mysql_error gibt nichts aus.
mit echo '<pre>' wird folgendes ausgegeben:
echo $sql gibt dieses hier aus:
und dabei ist es egal welchen Datensatz ich aktualisieren will. Es wird grundsätzlich die ID des letzten Datensatzes genommen und erledigt bleibt leer.
achso, die zu aktuallisierende Tabelle wird so geschrieben, ist also kein schreibfehler
Ich poste sie einfach mal.
PHP-Code:
echo "<form action=include.php?path=wunsch/wunschliste_modi.php method=post>";
echo "<table border=\"0\" align=\"center\" width=\"100%\">";
echo "<tr><td align=\"center\" colspan=\"2\"><h1>Wunschliste</h1></td></tr>";
echo "<tr><td align=\"left\" colspan=\"2\">Hallo ".$USER[name]."</td></tr>";
echo "<tr><td colspan=\"2\"> </td></tr>";
$db = "phpkit_wunscliste";
$auswahl = "SELECT * FROM $db ORDER BY id";
$mehr = mysql_query($auswahl) or die(mysql_error());
while($row = mysql_fetch_array($mehr))
{
if($row['erledigt'] != "Erledigt")
{
echo "<tr><td colspan=\"2\"><b>".$row['id'].".</b> Der User <b>".$row['user']."</b> wünscht sich <b>".$row['wunsch']."</b></td></tr>";
echo "<tr><td colspan=\"2\">diesen Wunsch hat er um <b>".$row['uhr']."</b> am <b>".$row['datum']."</b> eingetragen.</td></tr>";
echo "<tr><td colspan=\"2\">Er war mit folgender IP und Host <b>".$row['ip']."@".$row['host']."</b> online.</td></tr>";
echo "<tr><td colspan=\"2\">Des Weiteren hat <b>".$row['user']."</b> folgende Nachricht hinterlassen: <b>".$row['text']."</b></td></tr>";
echo "<tr><td align=\"left\"><input type=\"text\" name=\"erledigt\"></td></tr>";
echo "<tr><td colspan=\"2\"><input type=\"submit\" name=\"submit\" value=\"Eintragen\"></td></tr>";
echo "<tr><td colspan=\"2\"><hr></td></tr>";
}
}
echo "</table>";
echo "</form>";
if (isset($_POST['submit']))
{
$sql = 'UPDATE '.$db.' SET erledigt = "'.$_POST['erledigt'].'" WHERE id ="'.$_POST['id'].'"';
$result = mysql_query($sql) OR die(mysql_error());
echo '<pre>';
print_r($_POST);
echo $sql;
}
Da ich ja mehrere Einträge in der entsprechenden Tabelle habe, sollen auch nur bestimmte einträge aktualisiert werden.
mysql_error gibt nichts aus.
mit echo '<pre>' wird folgendes ausgegeben:
PHP-Code:
Array
(
[erledigt] =>
[id] => 17
[submit] => Eintragen
)
PHP-Code:
UPDATE phpkit_wunscliste SET erledigt = "" WHERE id ="17"
achso, die zu aktuallisierende Tabelle wird so geschrieben, ist also kein schreibfehler
Kommentar