$tmpl->param('loop' => db_get_loop()); sub db_get_loop { my ($dbh, $sql, $sth, @loop_info, $limit, $last_update, $city, $zipcode, $name, $low, $high, $date, $forecast, $forecast_description); $dbh = db_connect(); $sql = qq{SELECT last_update,city,zipcode,name,low,high, date,forecast,forecast_description FROM $TABLE ORDER BY last_update DESC, date LIMIT $limit}; $sth = $dbh->prepare($sql); $sth->execute(); $sth->bind_columns(\($last_update, $city, $zipcode, $name, $low, $high, $date, $forecast, $forecast_descri +ption)); while ($sth->fetchrow_arrayref()) { my (%loop); # Set TMPL_VARs for each iteration # in the <TMPL_LOOP NAME="${region}_headlines_loop"> l +oop $loop{'last_update'} = $last_update; $loop{'city'} = $city; $loop{'zipcode'} = $zipcode; $loop{'name'} = $name; $loop{'low'} = $low; $loop{'high'} = $high; $loop{'date'} = $date; $loop{'forecast'} = sprintf('%02d', $forecast); $loop{'forecast_description'} = $forecast_description; # Push this row onto loop push @loop_info, \%loop; } $sth->finish(); $dbh->disconnect(); return \@loop_info; }
You could put all those variables in a hash, instead. That's just how I happened to do it.
In reply to Re: DBI and HTML::Template
by kwoff
in thread DBI and HTML::Template
by czarfred
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |