hallo,
habe die letzten zwei tage mit eurer hilfe an dem problem des vorbelegens eines aus einer datei gefüllten selects gebastelt. ich dachte, ich hätte es geschafft, aber jetzt taucht ein neues problem auf, da brauche ich etwas theoretischen unterbau:
ausgangsbasis ist ein einfaches dateiverwaltungsprgramm , dass schon seit monaten fehlerfrei läuft, 4 templates: erfassen, suchen, suchergegnis und details (zum ändern).
darin habe ich den select eingebaut, in etwa so:
<select name="xfeld:="><loop db=ydatei code=perl>
out "<option value='$yfeld'";
out ">" if($yfeld ne $xfeld);
out " selected>" if($yfeld eq $xfeld);
out "$yfeld</option>";
</loop></select>
der code ist ok, aber ich habe nachdem ich jetzt stundenlang rumprobiert habe, festgestellt, dass das alleine nicht ausreicht.
habe jetzt drei varianten ausprobiert, wovon die dritte noch die beste ist:
variante 1: in der detailanzeige wird der richtige satz angezeigt, aber die selectanzeige geht falsch
suchergebnis aufruf detail mit Id==$_id
<a href=http://baseportal.de/cgi-bin/baseportal.pl?htx=/gpark/bg/bgtestdt&cmd=all&Id==$_id>?</a>
detailanzeige
<perl>
if ($cmd eq "mod")
{
mod "Id==$_id",[ "xbez", "$xbez", "xbez2", "$xbez2" .......
}
get "Id==$_id", "bgtest";
und ab hier formularausgabe .....
variante 2: in der detailanzeige wird der falsche satz angezeigt (der erste satz in der datei), die selectanzeige geht jetzt richtig
suchergebnis aufruf detail mit Id=$_id
<a href=http://baseportal.de/cgi-bin/baseportal.pl?htx=/gpark/bg/bgtestdt&cmd=all&Id=$_id>?</a>
detailanzeige
<perl>
if ($cmd eq "mod")
{
mod "Id==$_id",[ "xbez", "$xbez", "xbez2", "$xbez2" .......
}
get "Id==$_id", "bgtest";
und ab hier formularausgabe .....
variante 3: in der detailanzeige wird der richtige satz angezeigt, die selectanzeige geht auch richtig,
aber nach abschicken der änderung, erscheint die in der anzeige der erste satz der datei.
suchergebnis aufruf detail mit Id=$_id
<a href=http://baseportal.de/cgi-bin/baseportal.pl?htx=/gpark/bg/bgtestdt&cmd=all&Id=$_id>?</a>
detailanzeige
<perl>
if ($cmd eq "mod")
{
mod "Id==$_id",[ "xbez", "$xbez", "xbez2", "$xbez2" .......
get "Id==$_Id", "bgtest"; }
else
{ get "Id==$Id", "bgtest"; }
und ab hier formularausgabe .....
______________________________________
so, ich glaube, dass sind perl-feinheiten, ich bin wahrscheinlich auf dem richtigen weg, aber das letzt bisschen habe ich noch nicht verstanden.
vielleicht könnt ihr mir den rest geben ;-)