Hallo,
ich möchte in einem Formular, dass mit QuickForm erzeugt wird mehrere Datensätze aus einer Datenbank gleichzeitig verarbeiten. Das Anlegen der Felder in QuickForm ist ja nicht das Problem:
Code:
// Dynamischer Bereich: existierende Einträge anzeigen:
if ($qry_angebotspositionen <> -1) {
for($i = 0; $i < pg_numrows($qry_angebotspositionen); $i++) {
// Suffix für Feldnamen festlegen
$suffix = substr("00".(string) $i, -3, 3);
// Event-Handler für JavaScript erzeugen
$javascript = array('onChange' => "javascript:setDirtytag(this);");
// Daten einer Zeile in ein Objekt holen
$data = pg_fetch_object($qry_angebotspositionen, $i);
// Eingabefelder erzeugen
$myForm->addElement('text', 'stadt_'.$suffix, '', array('size' => 20, 'maxlength' => 30), $javascript);
$myForm->addElement('select', 'produktlinie_'.$suffix, '', $lst_produktlinien, $javascript);
$myForm->addElement('text', 'flaechen_'.$suffix, '', array('size' => 5, 'maxlength' => 5), $javascript);
$myForm->addElement('text', 'preisflaeche_'.$suffix, '', array('size' => 5, 'maxlength' => 5), $javascript);
$myForm->addElement('text', 'beginn_'.$suffix, '', array('size' => 10, 'maxlength' => 10), $javascript);
$myForm->addElement('text', 'ende_'.$suffix, '', array('size' => 10, 'maxlength' => 10), $javascript);
$myForm->addElement('hidden', 'dirtytag_'.$suffix, 'clean');
$myForm->addElement('hidden', 'id_'.$suffix, $data->id);
}
}
Auf diese Weise erzeuge ich in QuickForm Elemente mit den Namen 'stadt_001', 'stadt_002', usw.
Die Ausgabe des Formulars möchte ich über Smarty realisieren.
Die Frage ist nur, wie erzeuge ich in Smarty die entsprechenden Einträge?
Ich bräuchte ja die - dynamisch erzeugten - Zeilen
{$form_data.stadt_001.html}
{$form_data.stadt_002.html}
...
Ich habe schon einige Zeit mit eval heraumexperimentiert, aber bislang kein Ergebnis erzielt.
Ich könnte natürlich etwas in der Art
Code:
{foreach item=zeile from=$feldliste}
<input type="text" name="{$zeile.stadt}" />
{/foreach}
schreiben, aber dann würden die Formularfelder aus der Verarbeitung von QuickForm herausfallen.
In der Smarty-Dokumentation von Monte Ohrt und Andrei Zmievski habe ich dazu auch nichts gefunden.
Weiss jemand Rat?