use DBI;
use HTML::Template;
my $dbh = DBI->connent(
qw(dbi:mysql:ndb user pass),
{RaiseError => 1},
);
my $sites = $dbh->selectall_arrayref('
select distinct site_name as name
from sites
order by site_name
',{Slice=>{}});
for my $site (@$sites) {
$site->{routers} = $dbh->selectall_arrayref('
select distinct router as name
from sites
where site_name = ?
',{Slice => 1}, $site->{name});
#i removed the router = ? part from here
#how do you expect to query a single router if there are multiples?
$site->{interfaces} = $dbh->selectall_arrayref('
select interface as name
from sites
where site_name = ?
',{Slice => 1}, $site->{name});
}
my $tmpl = HTML::Template->new(filehandle => \*DATA);
$tmpl->param(sites => $sites);
print $tmpl->output;
__DATA__
Name:
Routers:
Interfaces: