update - Formular-reload Problem

update - Formular-reload Problem

am 09.03.2005 12:34:28 von j_wenke

Hallo ng,
wenn ich Felder im Datensatz per Formular update,
sehe ich nach dem Seitenneuaufbau noch die alten
Werte. In der Tabelle sind sie aber schon neu.

Das Formular liegt in einr while-Schleife
Formularfelder sind z.B. so:
---------
"> ?>
---------
nun brauch ich etwas, das beim $erg sagt:
Wenn $POST-arrays da sind, dann aus diesem, sonst die $erg-Variable.

>>>>>> Wie mach ich das *in der Schleife*?

probiert hatte ich schon was mit:

if ($_POST) { echo $_POST[$feld[6][0]]; } else { echo $erg[1];}
oder ähnlich
isset($_POST[$feld[6][0]]) ? $_POST[$feld[6][0]] : (int)$erg[1];

ergibt jedoch (logischerweise), das die ganze Formularspalte
denselben Wert erhält (nur in der Anzeige, nicht real in der Tabelle).

gibst ein "Trick", in der Schleife zu bleiben oder geht das nur
vorher ...?
Danke für Hilfen,
Grüße, Jörg

Re: update - Formular-reload Problem

am 09.03.2005 14:03:00 von Helmut Chang

j wenke schrieb:

> Das Formular liegt in einr while-Schleife

Wie sieht deine While-Schleife aus?

> Formularfelder sind z.B. so:
> ---------
> "> > ?>
> ---------
> nun brauch ich etwas, das beim $erg sagt:
> Wenn $POST-arrays da sind, dann aus diesem, sonst die $erg-Variable.
>
> >>>>>> Wie mach ich das *in der Schleife*?
>
> probiert hatte ich schon was mit:
>
> if ($_POST) { echo $_POST[$feld[6][0]]; } else { echo $erg[1];}
> oder ähnlich
> isset($_POST[$feld[6][0]]) ? $_POST[$feld[6][0]] : (int)$erg[1];

Ich würde das nicht bei der Ausgabe machen. Sondern (als Prinzip) so:

// Formularfelder deklarieren, bzw benötigte Werte registrieren:
// ich nehme irgendwie an, dass du sowas ähnliches hast.
$felder = array(
0 => array(
'name' => 'name',
'value' => isset($_POST[$felder][0]['name']) ?
$_POST[$felder][0]['name'] :
'default_value' oder null
),

...
);

Damit geht dann in der Ausgabe:

for each $felder in $key => $feld {
?>
name=""
value="">
}

gruss, heli

Re: update - Formular-reload Problem

am 09.03.2005 15:00:35 von j_wenke

Jo, danke!
schaue ich mir mal an.

Mein while sieht so aus:

....snip.....


while ($erg = mysql_fetch_row($result)) {
@$rbg = $rbg=="#EEEEEE" ? "#FFFFFF" : "#EEEEEE"; ?>



>
>

Ein innerhalb eines ist nicht valide! Das muss
außerhalb der Tabelle sein. Das kann zu seltsamen Ergebnissen führen.

> Index | Impressum | Datenschutz | XODOX