UPDATE Funktion MySQL über Tabelle

cry_baby

Mitglied
Hallo,

ich habe ein Problem und das nun schon seit längerem. Ich verstehe zwar die Update Funktion, nur leider wird immer und überall nur der direkte Befehl beschrieben. Ich möchte allerdings, dass auf meiner HP die DB-Einträge angezeigt werden mit einem Button zum Editieren. Hierüber soll man zu einer Tabelle kommen, in der der jeweilig angeklickte Eintrag in einer Tabelle angezeigt wird - man soll ihn dann ändern können, auf speichern klicken und die Tabelle soll dann per UPDATE geändert werden. Funktioniert alles bis auf das UPDATE ganz zum Schluß. Vielleicht kann mir jemand helfen, was ich falsch mache? Ich komme einfach nicht drauf.

hier werden alle Einträge aus der Datenbank angezeigt:
PHP:
<?php
$host = "xxx";
$user = "xxx";
$password = "xxx";
$dbname = "xxx";
$tabelle ="einsaetze2007";

$dbverbindung = mysql_connect ($host, $user, $password);
$dbanfrage = "SELECT * from $tabelle ORDER BY Nummer";
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);

 while ($ausgabe = mysql_fetch_array ($result))
 {

echo "<a href=einsaetze2007edit.php?id=".$ausgabe['id']." target=_self><img src=b_edit.png border=0></a> 
	 <a href=einsaetze2007frage.php?id=".$ausgabe['id']." target=_self><img src=b_drop.png border=0></a><br> 
   	 <strong>Nummer:</strong> $ausgabe[Nummer]<br>
	 <strong>Datum:</strong>&nbsp;&nbsp;$ausgabe[Wochentag], 
                 $ausgabe[Tag].$ausgabe[Monat].2007, $ausgabe[Stunde]:$ausgabe[Minute] Uhr<br> 
	 <strong>Ereignis:</strong>$ausgabe[Ereignis] <strong>in</strong> $ausgabe[Ort]<br>
	 <strong>Einsatzart:</strong> $ausgabe[Einsatzart] <br> 
	 <strong>Berichte und Bilder:</strong> $ausgabe[Select1] <br>
	 <strong>Spektakulärer Einsatz:</strong> $ausgabe[Select2]<br>
	 <strong>Bericht:</strong><br>$ausgabe[Bericht]<br>
	 <strong>Statistik:</strong><br>$ausgabe[Statistik]<br>
	 <strong>Bilder:</strong><br>$ausgabe[Bild1] $ausgabe[Bild2] $ausgabe[Bild3] $ausgabe[Bild4]<hr>";
 }
mysql_close ($dbverbindung)?>

Hier wird die Tabelle angezeigt, in der man seine Daten ändern kann:
PHP:
<?php
$host = "xxx";
$user = "xxx";
$password = "xxx";
$dbname = "xxx";
$tabelle ="einsaetze2007";

$dbverbindung = mysql_connect ($host, $user, $password);
$dbanfrage = "SELECT * from $tabelle WHERE id = '$id' ";
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);

 while ($ausgabe = mysql_fetch_array ($result))
 {
echo "<form action=einsaetze2007update.php?id=".$ausgabe['id']." target=_self method=post><input name=$Array[Nummer] type=text size=5 maxlength=3 value=$ausgabe[Nummer]><br><input type=submit value=Speichern></form>";
 }
mysql_close ($dbverbindung)?>

und das ist die Update Funktion:
PHP:
<?php

$host = "xxx";
$user = "xxx";
$password = "xxx";
$dbname = "xxx";
$tabelle ="einsaetze2007";

$dbverbindung = mysql_connect ($host, $user, $password);

$dbanfrage = "UPDATE $tabelle SET Nummer=$Array[Nummer] WHERE id = '$id' "; 

if (mysql_db_query ($dbname, $dbanfrage, $dbverbindung)) { 
print ("Datenbankeintrag editiert...<br><br>"); 
print ("<a href=einsaetze2007.php?id=".$ausgabe['id']." target=_self><strong>zurück</strong>&nbsp;</a>zu zu zu zu Einsätze 2007");
} else { 
print ("Es traten Probleme auf...<br/>"); 
echo mysql_error(); 
}  
mysql_close ($dbverbindung);

?>

könnte es vielleicht im 3. Code an dem "<a href=einsaetze2007.php?id=".$ausgabe['id']." " liegen? Weil eigentlich muss die ID dort ja nicht mehr an eine andere Seite übergeben werden oder? Nur wenn ich das rauslösche ändert sich auch nichts. Die Fehlermeldung die kommt lautet immer:
Code:
Es traten Probleme auf...
You have an error in your SQL syntax; check the manual that 
corresponds to your MySQL server version for the right syntax 
to use near 'WHERE id = '115'' at line 1
 
Zuletzt bearbeitet:
In der $dbanfrage steht die zusammengesetzte Abfrage, die ja später an den Datenbankserver geschickt wird. Lass dir diese mal ausgeben.
 
Parse error: syntax error, unexpected T_ECHO in /home/xxx/einsaetze2007update.php on line 154

UPDATE einsaetze2007 SET Nummer= WHERE id = '115' Es traten Probleme auf...
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id = '115'' at line 1
 
Super, vielen Dank, jetzt funktioniert es...

Mit dem Code:
PHP:
$dbanfrage = "UPDATE $tabelle SET Nummer='$Nummer' WHERE id = '$id' ";

Jetzt ist nur noch das Blöde, wenn ich zb. eine Nummer 045 in 046 ändern will, dann wird es zwar geändert, aber nicht in 046 sondern in 46.

Sorry wenn die Fragen vielleicht für euch simpel sind.
 
Zuletzt bearbeitet:
Zurück