Marian: Input felder auslesen?

Beitrag lesen

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