Thread Arrays an Templates übergeben: Arrays an Templates übergeben (19 answers)
Opened by pug at 2006-02-02 13:05

pug
 2006-02-02 13:05
#29606 #29606
User since
2005-08-17
91 Artikel
BenutzerIn
[default_avatar]
Hallo zusammen,
ich habe noch einiges zu tun in meinem "Web-Datenbanken-Projekt".
Jetzt versuche ich gerade einen Datensatz aus der Datenbank zu lesen, dieser Satz kommt in ein Array und wird dem Template übergeben.

Ich zeigs mal:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$result = $dbh->prepare ( "SELECT  katname from kategorie" ) or die "Vorbereitung nicht durchfuehrbar!\n";

$result->execute() or die "Abfrage nicht ausfuehrbar -kategorie!\n";

while ( $zeile = $result->fetchrow_arrayref )
{
push ( @kategorien, $zeile->[0] );
}
$result->finish();

$tmpl = new HTML::Template ( filename => TMPL_FILE );

$tmpl->param ( vorname => $vorname,
nachname => $nachname,
kategorien => \@kategorien );

print $tmpl->output;

Also das mit der Datenbank funktioniert das habe ich vorher mit purem CGI gemacht und da hats funktioniert. Jetzt möchte ich aus diesen "Kategorie-Namen" ein Pill-Down-Menü machen.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<HTML>

<HEAD>
<TITLE> Persoenliche Startseite von <TMPL_VAR NAME="vorname"> <TMPL_VAR NAME="nachname"> </TITLE>
</HEAD>

<BODY BGCOLOR="yellow">
<BR>
<HR>
<H3> Herzlich Willkommen <TMPL_VAR NAME="vorname"> <TMPL_VAR NAME="nachname"> </H3>
<BR>
<BR>
<BR>
<SELECT NAME="kategorien" SIZE="1">
<TMPL_LOOP NAME="kategorien">
<OPTION><TMPL_VAR NAME="kategorien"></OPTION>
</TMPL_LOOP>
</SELECT>
</BODY>

</HTML>


Aber ich bekomme nur das:
Quote
Software error:

HTML::Template->output() : fatal error in loop output : HTML::Template : Attempt to get nonexistent parameter 'debbisch' - this parameter name doesn't match any declarations in the template file : (die_on_bad_params set => 1) at /usr/share/perl5/HTML/Template.pm line 2905
at /usr/lib/cgi-bin/neue_auktion.cgi line 64


Debbisch ( hessisch Teppich ) ist der Name des ersten Strings im Array.

Was habe ich übersehen ?

Gruss Christian
Ein Betriebssystem sie zu knechten, sie alle zu finden, Ins Dunkel zu treiben und ewig zu binden.

William Gates III

View full thread Arrays an Templates übergeben: Arrays an Templates übergeben