#!/usr/bin/perl # Copyright Les Richardson 2001-2007 my %lex = ('Homeroom Assignment' => 'Homeroom Assignment', 'Update Homerooms' => 'Update Homerooms', 'Student' => 'Student', 'Hroom:Teacher' => 'Hroom:Teacher', 'Not Defined' => 'Not Defined', 'Not Found' => 'Not Found', ); use DBI; use CGI; @month = ('','January','February','March','April','May','June', 'July','August','September','October','November','December'); my $q = new CGI; print $q->header; my %arr = $q->Vars; require "../../etc/admin.conf" or die "Cannot read admin.conf!"; $dsn = "DBI:$dbtype:dbname=$dbase"; $dbh = DBI->connect($dsn,$user,$password); # Read teachers into a list. $sth = $dbh->prepare("select id, lastname, firstname, grade, homeroom from staff where homeroom != ''"); $sth->execute; # Put Teachers into Hash while (my ($id, $lastname, $firstname, $grade, $homeroom) = $sth->fetchrow){ my $tch = "$homeroom:$firstname $lastname:$grade:$id"; # homeroom : name : grade : teachid $teacher{"$grade-$homeroom"} = $tch; # Grade-Homeroom is the selector. } #foreach my $key (keys %teacher) { # print "K:$key V:$teacher{$key}
\n"; #} $sth = $dbh->prepare("select studid, lastname, firstname, grade, homeroom from student order by grade, lastname, firstname"); $sth->execute; $rows = $sth->rows; print "$doctype\n". $lex{'Homeroom Assignment'}. " $chartype\n[ Main | EOY ]

". $lex{'Homeroom Assignment'}. "

\n"; print "
\n"; print "\n"; $currgrade = "-1"; while (my ($studid, $lastname, $firstname, $grade, $homeroom) = $sth->fetchrow){ $oldgrade = $currgrade; $currgrade = $grade; if (not $currgrade){ $currgrade = $lex{'Not Defined'}; } if ($oldgrade ne $currgrade) { # we have a new grade unless ( $oldgrade eq '-1' ){ print "\n\n";} print "

\n"; } # show teacher choices my ($throom, $tname, $tgrade, $rec) = split(/:/,$teacher{"$grade-$homeroom"}); if (not $tname){ $tname = $lex{'Not Found'}; } print "\n"; } # End of Student Loop print "
Grade: $currgrade
". $lex{Student}. ''. $lex{'Hroom:Teacher'}. "
$lastname, $firstname
\n";