Hallo,
guten Morgen, liebe SEFLHTMLer ...
Ich bin mir nicht sicher ob ich im Augenblick nur eine Denkblockade habe, oder ob ich mich da in etwas hingedacht habe, was möglicherweise funktionieren sollte ... aber eigentlich nie funktionieren wird.
Folgendes Problem:
Es werden nach einer Datenbankabfrage Inhalte auf einer Seite ausgegben, die dort entweder als Informationsquelle dienen, oder aber bei eventuellen Falscheingaben bearbeitet werden können. Das bearbeiten ist so gestaltet, das ich den Modus 'Bearbeiten' via Funktion aktiviere und mir so die Formularfelder inkl. aller anderen notwendigen Informationen dyn. generieren lassen.
Das sieht so aus:
...
function Buchung ($typ,$id,$db,$active){
if ($active == 'on'){
echo "<input name="".$typ."_".$id."" type="text"
id="".$typ."_".$id."" value="".$db."" size="10">";
}
else{
echo $db;
}
}
...
Ich bekomme dann die Inputfelder mit den Werten aus der DB in die html Seite angezeigt. Mal sind es 5 dann mal wieder 10 oder auch keines. Dyn. also.
...
<input name="buchungsdatum_5" type="text" id="buchungsdatum_5" value="01.01.2006" size="10">
<input name="buchungsdatum_6" type="text" id="buchungsdatum_6" value="01.01.2006" size="10">
...
Dabei bedeutet die Zahl im namen des input Tags die ID des Buchungssatzes, welche in der DB autoincrement ist. Wenn es sich um einen Buchungsatz handelt, der bearbeitet und aktualisiert werden soll, ist alles ok. Bei aber mehr wie einem, und dem Versuch diese in die DB zu schreiben, bekomme ich das Problem mit den $_POST['buchungsdatum_?????????'] Variablen. Es sollen ja alle Formularfelderinhalte in die DB geschrieben werden, ob sie dann geändert wurden oder nicht, ist mir im Moment noch egal. Nur genau das passiert nicht. Ich bekomme das UPDATE hin, wenn es sich lediglich um ein Formularfeld handelt, aber bei mehr funktioniert es nicht mehr.
So sieht übrigens die Anweisung aus für die DB.
...
$sql = mysql_query ("UPDATE buchungen SET betrag = '".$_POST['betrag_9']."', buchungsdatum = '".$_POST['buchungsdatum_9']."' WHERE id = '".$_GET['id']."' ") or die (mysql_error());
...
Die 9 in der Anweisung resultiert noch aus einem Test von mir. Genau diese $_POST[''] Variablen, der Name also muß irgendwie dyn. werden.
Die Inhalte kommen ja über das Formular.
Oder verrenne ich mich hier in eine unlösbare Aufgabe?
LG
vielen Dank für Hinweise, Tips, Kommentare ...
Kevin*
P.S. Ich hoffe ich habe mich verständlich ausgedrückt .... :p