Hi Lukas,
vielleicht mit
$insertquery = "UPDATE tabelle\n SET"
foreach($_POST as $key => $value)
{
$value = mysql_escape_string($value)
$insertquery .= "\n $key='$value',";
}
$insertquery = substr($insertquery, 0, strlen($insertquery) - 1) //wegen dem letzten komma bei den SETs
$insertquery .= "\nWHERE id=$id";
echo "<pre>\n$insertquery\n</pre>";
mysql_query($insertquery, $db) or die('Fehler beim Speichern der Daten');
Man kann da natürlich viel scheiße eingeben, aber wenn du es flexibel haben willst.. Besser wäre natürlich, wenn es vorgegeben wäre.
Oder vielleicht:
$in_db = mysql_query("SELECT * FROM tabelle WHERE id=$id", $db);
$spalte1 = isset($_POST['spalte1']) : $_POST['spalte1'] ? $in_db['spalte1']
$spalte2 = isset($_POST['spalte2']) : $_POST['spalte2'] ? $in_db['spalte2']
$spalte3 = isset($_POST['spalte3']) : $_POST['spalte3'] ? $in_db['spalte3']
// wenn es per post kommt, wird das eingetragen, sonst der wert aus der db
// ... und natürlich das mysql_escape_string nicht vergessen! ;-)
mysql_query("UPDATE tabelle SET spalte1='$spalte1', spalte2='$spalte2', ...", $db)
Gruß, Marian