Thread Drop down aus DB einlesen und zuordnen!?: Brauche Hilfe bei Syntax-Anpassung (8 answers)
Opened by Lena85 at 2003-12-23 02:20

Strat
 2003-12-23 02:51
#595 #595
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
ich bin mir nicht sicher, ob ich dich richtig verstehe... du willst die ungeraden zeilen aus der datenbank auslesen (funktioniert) und die geraden zeilen des templates im template ausfuellen? wenn die geraden zeilen immer gleich sind:
[html]
<TMPL_LOOP loopSelect>
 <option value="<TMPL_VAR NAME=ID>"
   <TMPL_IF NAME=FSELECTED>selected="selected"</TMPL_IF>>
   <TMPL_VAR NAME=AWK ESCAPE=HTML>
 </option>
 <option value="irgendwas">irgendwas statisches</option>
</TMPL_LOOP>
[/html]
wenn jedoch das irgendwas auch noch dynamisch ist, kannst du im Template selbst hoechstens noch mit vielen <TMPL_IF...>'s arbeiten, und viele parameter setzen...

Ist es moeglich, die Arrayreferenz, die du $template->param("LOOPSELECT" => \@arrayRef) uebergibst, vorher noch zu bearbeiten?

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
my @array = ();
foreach my $i (0..$#$arrayRef) { # iteriere ueber den Index der Listenreferenz
 push (@array, $arrayRef->[$i]);

 # jetzt eine Hashreferen der neuen Zeile erzeugen:
 my $hashRef = {
   id => $i+1,
   ifselected => 0,
   awk => "2 Text ". (($i+1)*2) . " fuer das " . ($i+1) . ". Dropdownfeld",
 };
 push (@array, $hashRef); # und auch zu @array hinzufuegen
} # foreach

# @array als templateparameter uebergeben
$template->param(loopSelect => \@array);

Nebenbei: wenn du einem TMPL_VAR noch die Option ESCAPE=HTML mitgibst, werden da automatisch HTML-Sonderzeichen escaped, und du brauchst es nicht manuell (z.B. mit $cgi->escapeHTML($value) ) zu machen...\n\n

<!--EDIT|Strat|1072140809-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/

View full thread Drop down aus DB einlesen und zuordnen!?: Brauche Hilfe bei Syntax-Anpassung