|  | #!/usr/bin/perl | 
|  |  | 
|  | use DBI; | 
|  | use CGI; | 
|  |  | 
|  | $q = new CGI; | 
|  | print $q->header(); | 
|  | print $q->start_html(-title=>"Nightly Tester DB"); | 
|  |  | 
|  | unless($q->param('pwd')) | 
|  | { | 
|  | print $q->startform(); | 
|  | print $q->password_field(-name=>"pwd", -size=>20, -maxlength=>20); | 
|  | print $q->submit(); | 
|  | print $q->endform(); | 
|  | } | 
|  | else | 
|  | { | 
|  | # database information | 
|  | $db="llvmalpha"; | 
|  | $host="localhost"; | 
|  | $userid="llvmdbuser"; | 
|  | $passwd=$q->param('pwd'); | 
|  | $connectionInfo="dbi:mysql:$db;$host"; | 
|  |  | 
|  | # make connection to database | 
|  | $dbh = DBI->connect($connectionInfo,$userid,$passwd) or die DBI->errstr; | 
|  | $query = "Select DISTINCT(NAME) from Tests"; | 
|  | my $sth = $dbh->prepare($query) || die "Can't prepare statement: $DBI::errstr"; | 
|  | my $rc = $sth->execute or die DBI->errstr; | 
|  | while (($n) = $sth->fetchrow_array) | 
|  | { | 
|  | push @names, ($n); | 
|  | #        print "$n<P>"; | 
|  | } | 
|  | $query = "Select DISTINCT(TEST) from Tests"; | 
|  | my $sth = $dbh->prepare($query) || die "Can't prepare statement: $DBI::errstr"; | 
|  | my $rc = $sth->execute or die DBI->errstr; | 
|  | while (($n) = $sth->fetchrow_array) | 
|  | { | 
|  | push @tests, ($n); | 
|  | #        print "$n\n"; | 
|  | } | 
|  |  | 
|  | #    print join "<BR>", @names; | 
|  |  | 
|  | print $q->startform(); | 
|  | print $q->scrolling_list(-name=>"test", -values=>\@tests, -multiple=>'true'); | 
|  | print "<P>"; | 
|  | print $q->scrolling_list(-name=>"name", -values=>\@names, -multiple=>'true'); | 
|  | print "<P>"; | 
|  | print $q->submit(); | 
|  | print $q->hidden("pwd", $q->param('pwd')); | 
|  | print $q->endform(); | 
|  |  | 
|  | # disconnect from database | 
|  | $dbh->disconnect; | 
|  |  | 
|  | #now generate the urls to the chart | 
|  | if ($q->param('test') && $q->param('name')) | 
|  | { | 
|  | my @names = $q->param('name'); | 
|  | my @tests = $q->param('test'); | 
|  | print "<P>"; | 
|  | print join "<BR>", @names; | 
|  | print "<P>"; | 
|  | print join "<BR>", @tests; | 
|  | print "<P>"; | 
|  | $str = "pwd=" . $q->param('pwd'); | 
|  | $count = 0; | 
|  | foreach $n (@names) | 
|  | { | 
|  | foreach $t (@tests) | 
|  | { | 
|  | $str = "$str&t$count=$t&n$count=$n"; | 
|  | $count++; | 
|  | } | 
|  | } | 
|  | print "<img src=\"cgiplotNLT.pl?$str\">"; | 
|  | } | 
|  | } | 
|  |  | 
|  | print $q->end_html(); |