#! d:/perl/bin/perl -w use DBI; use File::Basename; use strict; open MASTEROUT, ">index.html"; select MASTEROUT; my $DSN = 'driver=Microsoft Access Driver (*.mdb);dbq=Media.mdb'; my $dbh = DBI->connect("dbi:ODBC:$DSN", '','') or die "$DBI::errstr\n"; my $artistHolder; my $albumHolder; my $query = $dbh->prepare("SELECT title, artist, album FROM tblMedia ORDER BY artist, album"); $query->execute(); my @row = $query->fetchrow_array; $artistHolder = $row[1]; $albumHolder = $row[2]; print ""; print MASTEROUT "Overall"; #Begin new print ""; print "$row[1]"; print ""; print "
"; print MASTEROUT ""; open ARTISTOUT, ">".$row[1].".html"; select ARTISTOUT; #Overall table print ""; print "$row[1]"; print ""; print "
$row[1]
"; #per artist print ""; #per album print ""; print ""; print ""; print ""; $albumHolder = $row[2]; print "
$row[1]
 "; print ""; while ( @row ) { #Control break on Album # if (@row[2] ne $albumHolder && @row[1] ne $artistHolder) if ($row[2] ne $albumHolder && $row[1] eq $artistHolder) { print "
$row[1]
 "; print ""; } #Control break on Artist if ($row[1] ne $artistHolder) { #End previous artist's listings (End album, then artist print "


$row[1] - $row[2]

"; close ARTISTOUT; open ARTISTOUT, ">".$row[1].".html"; select ARTISTOUT; print MASTEROUT "
$row[1]
"; print ""; print ""; print ""; $artistHolder = $row[1]; $albumHolder = $row[2]; #start out next album print "

$row[1]

 "; print ""; print ""; print ""; } #Print out each entry print ""; #Get the next entry. @row = $query->fetchrow_array; } print "
Back to home

$row[1] - $row[2]

$row[1] - $row[2] - $row[0]
"; print MASTEROUT "
"; $dbh->disconnect();