use DBI; use HTML::Template; use CGI qw(:standard); my $dbh = DBI->connect( qw(DBI:vendor:database:host user pass), {RaiseError=>1}, ); my $states = $dbh->selectall_arrayref(' select id,name from state order by name ',{Slice => {}}); my $tmpl = HTML::Template->new(filehandle => \*DATA); $tmpl->param(states => $states); print header,$tmpl->output; __DATA__
####
$_->{id} == param('state') and $_->{sel} = 1 for @$states;
####
####
... beginning same as before ...
my $states = $dbh->selectall_arrayref( ... );
my $tmpl = HTML::Template->new(filehandle => \*DATA);
$tmpl->param(states =>
scrolling_list(
-name => 'states',
-values => [ map $_->{id}, @$states ],
-size => 12,
-multiple => 'why not',
-labels => { map {$_->{id} => $_->{name}} @$states },
),
);
print header,$tmpl->output;
__DATA__