The following simple piece of code works fine as it is but looks very messy
compared to how it can be done in other languages. I first tried to write it
as two simple if statements and one lump of formatting code, but the values
generated within the if statements were not recognized outside the if
condition. I also tried using a subroutine but this didn't seem to work
ether. I've done more complicated thing than this before but just can't seem
to get it working any better way. I tried using our instead of my when
declaring the variables, and it didn't seem to like the use strict command.
Am I doing something stupid? Can anybody help?

print "Content-type: text/html\n\n";

use CGI;
my $q = new CGI;
my $Lob = $q->param( "Lob" );
print <<HTML_SCRIPT1;
  <HTML>
  <HEAD>
        <TITLE>On-Line Projects Pipeline Search:</TITLE>
  </HEAD>
  <BODY>
        <H1><u>Project Management $Lob Pipeline:</u></H1>
        <FONT SIZE=2>
        <CENTER>
        <TABLE BGCOLOR="white" BACKGROUND="/images/graygrid.gif" BORDER="0"
BORDERCOLORLIGHT="#FFFFF0" BORDERCOLORDARK="#707070" CELLSPACING="0"
CELLPADDING="5" WIDTH=%100>
        <TR BGCOLOR="black"><TD><B><CENTER><FONT
COLOR="white">LOB</FONT></CENTER></B></DT><TD><B><CENTER><FONT
COLOR="white">Product Program</FONT></CENTER></B></TD><TD><B><CENTER><FONT
COLOR="white">Project</FONT></CENTER></B></TD><TD><B><CENTER><FONT
COLOR="white">3rd Year
Incremental</FONT></CENTER></B></TD><TD><B><CENTER><FONT COLOR="white">3rd
Year Cannabalised</FONT></CENTER></B></TD><TD><B><CENTER><FONT
COLOR="white">3rd Year
Protected</FONT></CENTER></B></TD><TD><B><CENTER><FONT COLOR="white">1st
Year Cost</FONT></CENTER></B></TD><TD><B><CENTER><FONT COLOR="white">Ready
to Ship Date</FONT></CENTER></B></TD></TR>
HTML_SCRIPT1
my @rawsql = "*";
if ($Lob eq 'All') {
        use DBI;                     
        my $dbh = DBI->connect('dbi:ODBC:projects', 'test','');
        my $sql = "select * from pipeline where History = 'Current' order by
LOB, ProgramType";
        my $sth = $dbh->prepare($sql);
        $sth->execute();
        while (@rawsql = $sth->fetchrow_array()) {
                print "<tr>";
                if ($rawsql[1] eq 'ATOM'){ print "<TD BGCOLOR=\"red\"
onClick=\"alert('ATOM')\"> </TD>"; }
                if ($rawsql[1] eq 'Industrial'){ print "<TD
BGCOLOR=\"magenta\" onClick=\"alert('Industrial')\"> </TD>";}
                if ($rawsql[1] eq 'Commercial'){ print "<TD
BGCOLOR=\"yellow\" onClick=\"alert('Commercial')\"> </TD>";}
                if ($rawsql[2] eq 'Tactical'){ print "<TD BGCOLOR=\"green\"
onClick=\"alert('Tactical')\">" . join("", $rawsql[3]) . "</TD>";}
                if ($rawsql[2] eq 'Strategic'){ print "<TD
BGCOLOR=\"darkgreen\" onClick=\"alert('Strategic')\">" . join("",
$rawsql[3]) . "</TD>";}
                if ($rawsql[2] eq 'Maintanance'){ print "<TD
BGCOLOR=\"lightgreen\" onClick=\"alert('Maintanance')\">" . join("",
$rawsql[3]) . "</TD>";}         
                if ($rawsql[4] eq 'A'){ print "<TD BGCOLOR=\"lightclyne\"
onClick=\"alert('Category A Project')\">" . join("", $rawsql[5]) . "</TD>";}
                if ($rawsql[4] eq 'B'){ print "<TD BGCOLOR=\"yellow\"
onClick=\"alert('Category B Project')\">" . join("", $rawsql[5]) . "</TD>";}
                if ($rawsql[4] eq 'C'){ print "<TD BGCOLOR=\"lightblue\"
onClick=\"alert('Category C Project')\">" . join("", $rawsql[5]) . "</TD>";}
                if ($rawsql[6] eq '0'){ print "<p onClick=\"alert('Phase 0
Project')\"><TD BGCOLOR=\"lightclyne\">" . join("", $rawsql[7]) . "</TD><TD
BGCOLOR=\"lightclyne\">" . join("", $rawsql[8]) . "<TD
BGCOLOR=\"lightclyne\">" . join("", $rawsql[9]) . "<TD
BGCOLOR=\"lightclyne\">" . join("", $rawsql[10]) . "<TD
BGCOLOR=\"lightclyne\">" . join("", $rawsql[11]) . "</TD></p>";}
                if ($rawsql[6] eq '1'){ print "<p onClick=\"alert('Phase 1
Project')\"><TD BGCOLOR=\"darkmagenta\">" . join("", $rawsql[7]) . "</TD><TD
BGCOLOR=\"darkmagenta\">" . join("", $rawsql[8]) . "<TD
BGCOLOR=\"darkmagenta\">" . join("", $rawsql[9]) . "<TD
BGCOLOR=\"darkmagenta\">" . join("", $rawsql[10]) . "<TD
BGCOLOR=\"darkmagenta\">" . join("", $rawsql[11]) . "</TD></p>";}
                if ($rawsql[6] eq '2'){ print "<p onClick=\"alert('Phase 2
Project')\"><TD BGCOLOR=\"magenta\">" . join("", $rawsql[7]) . "</TD><TD
BGCOLOR=\"magenta\">" . join("", $rawsql[8]) . "<TD BGCOLOR=\"magenta\">" .
join("", $rawsql[9]) . "<TD BGCOLOR=\"magenta\">" . join("", $rawsql[10]) .
"<TD BGCOLOR=\"magenta\">" . join("", $rawsql[11]) . "</TD></p>";}
                if ($rawsql[6] eq '3'){ print "<p onClick=\"alert('Phase 3
Project')\"><TD BGCOLOR=\"clyne\">" . join("", $rawsql[7]) . "</TD><TD
BGCOLOR=\"clyne\">" . join("", $rawsql[8]) . "<TD BGCOLOR=\"clyne\">" .
join("", $rawsql[9]) . "<TD BGCOLOR=\"clyne\">" . join("", $rawsql[10]) .
"<TD BGCOLOR=\"clyne\">" . join("", $rawsql[11]) . "</TD></p>";}
                if ($rawsql[6] eq 'In Production'){ print "<p
onClick=\"alert('Project In Production')\"><TD BGCOLOR=\"green\">" .
join("", $rawsql[7]) . "</TD><TD BGCOLOR=\"green\">" . join("", $rawsql[8])
. "<TD BGCOLOR=\"green\">" . join("", $rawsql[9]) . "<TD BGCOLOR=\"green\">"
. join("", $rawsql[10]) . "<TD BGCOLOR=\"green\">" . join("", $rawsql[11]) .
"</TD></p>";}
                if ($rawsql[6] eq 'Special Project'){ print "<p
onClick=\"alert('Special Project')\"><TD BGCOLOR=\"white\">" . join("",
$rawsql[7]) . "</TD><TD BGCOLOR=\"white\">" . join("", $rawsql[8]) . "<TD
BGCOLOR=\"white\">" . join("", $rawsql[9]) . "<TD BGCOLOR=\"white\">" .
join("", $rawsql[10]) . "<TD BGCOLOR=\"white\">" . join("", $rawsql[11]);}
                if ($rawsql[6] eq 'Dead project'){ print "<p
onClick=\"alert('Dead Project')\"><TD BGCOLOR=\"black\"><FONT
COLOR=\"white\">" . join("", $rawsql[7]) . "</TD><TD BGCOLOR=\"black\"><FONT
COLOR=\"white\">" . join("", $rawsql[8]) . "<TD BGCOLOR=\"black\"><FONT
COLOR=\"white\">" . join("", $rawsql[9]) . "<TD BGCOLOR=\"black\"><FONT
COLOR=\"white\">" . join("", $rawsql[10]) . "<TD BGCOLOR=\"black\"><FONT
COLOR=\"white\">" . join("", $rawsql[11]);}
                print "</tr>";
        }
}
if ($Lob ne 'All') {
        use DBI;                     
        my $dbh = DBI->connect('dbi:ODBC:projects', 'test','');
        my $sql = "select * from pipeline where LOB = '$Lob' and History =
'Current' order by LOB, ProgramType";
        my $sth = $dbh->prepare($sql);
        $sth->execute();
        while (@rawsql = $sth->fetchrow_array()) {
                print "<tr>";
                if ($rawsql[1] eq 'ATOM'){ print "<TD BGCOLOR=\"red\"
onClick=\"alert('ATOM')\"> </TD>"; }
                if ($rawsql[1] eq 'Industrial'){ print "<TD
BGCOLOR=\"magenta\" onClick=\"alert('Industrial')\"> </TD>";}
                if ($rawsql[1] eq 'Commercial'){ print "<TD
BGCOLOR=\"yellow\" onClick=\"alert('Commercial')\"> </TD>";}
                if ($rawsql[2] eq 'Tactical'){ print "<TD BGCOLOR=\"green\"
onClick=\"alert('Tactical')\">" . join("", $rawsql[3]) . "</TD>";}
                if ($rawsql[2] eq 'Strategic'){ print "<TD
BGCOLOR=\"darkgreen\" onClick=\"alert('Strategic')\">" . join("",
$rawsql[3]) . "</TD>";}
                if ($rawsql[2] eq 'Maintanance'){ print "<TD
BGCOLOR=\"lightgreen\" onClick=\"alert('Maintanance')\">" . join("",
$rawsql[3]) . "</TD>";}         
                if ($rawsql[4] eq 'A'){ print "<TD BGCOLOR=\"lightclyne\"
onClick=\"alert('Category A Project')\">" . join("", $rawsql[5]) . "</TD>";}
                if ($rawsql[4] eq 'B'){ print "<TD BGCOLOR=\"yellow\"
onClick=\"alert('Category B Project')\">" . join("", $rawsql[5]) . "</TD>";}
                if ($rawsql[4] eq 'C'){ print "<TD BGCOLOR=\"lightblue\"
onClick=\"alert('Category C Project')\">" . join("", $rawsql[5]) . "</TD>";}
                if ($rawsql[6] eq '0'){ print "<p onClick=\"alert('Phase 0
Project')\"><TD BGCOLOR=\"lightclyne\">" . join("", $rawsql[7]) . "</TD><TD
BGCOLOR=\"lightclyne\">" . join("", $rawsql[8]) . "<TD
BGCOLOR=\"lightclyne\">" . join("", $rawsql[9]) . "<TD
BGCOLOR=\"lightclyne\">" . join("", $rawsql[10]) . "<TD
BGCOLOR=\"lightclyne\">" . join("", $rawsql[11]) . "</TD></p>";}
                if ($rawsql[6] eq '1'){ print "<p onClick=\"alert('Phase 1
Project')\"><TD BGCOLOR=\"darkmagenta\">" . join("", $rawsql[7]) . "</TD><TD
BGCOLOR=\"darkmagenta\">" . join("", $rawsql[8]) . "<TD
BGCOLOR=\"darkmagenta\">" . join("", $rawsql[9]) . "<TD
BGCOLOR=\"darkmagenta\">" . join("", $rawsql[10]) . "<TD
BGCOLOR=\"darkmagenta\">" . join("", $rawsql[11]) . "</TD></p>";}
                if ($rawsql[6] eq '2'){ print "<p onClick=\"alert('Phase 2
Project')\"><TD BGCOLOR=\"magenta\">" . join("", $rawsql[7]) . "</TD><TD
BGCOLOR=\"magenta\">" . join("", $rawsql[8]) . "<TD BGCOLOR=\"magenta\">" .
join("", $rawsql[9]) . "<TD BGCOLOR=\"magenta\">" . join("", $rawsql[10]) .
"<TD BGCOLOR=\"magenta\">" . join("", $rawsql[11]) . "</TD></p>";}
                if ($rawsql[6] eq '3'){ print "<p onClick=\"alert('Phase 3
Project')\"><TD BGCOLOR=\"clyne\">" . join("", $rawsql[7]) . "</TD><TD
BGCOLOR=\"clyne\">" . join("", $rawsql[8]) . "<TD BGCOLOR=\"clyne\">" .
join("", $rawsql[9]) . "<TD BGCOLOR=\"clyne\">" . join("", $rawsql[10]) .
"<TD BGCOLOR=\"clyne\">" . join("", $rawsql[11]) . "</TD></p>";}
                if ($rawsql[6] eq 'In Production'){ print "<p
onClick=\"alert('Project In Production')\"><TD BGCOLOR=\"green\">" .
join("", $rawsql[7]) . "</TD><TD BGCOLOR=\"green\">" . join("", $rawsql[8])
. "<TD BGCOLOR=\"green\">" . join("", $rawsql[9]) . "<TD BGCOLOR=\"green\">"
. join("", $rawsql[10]) . "<TD BGCOLOR=\"green\">" . join("", $rawsql[11]) .
"</TD></p>";}
                if ($rawsql[6] eq 'Special Project'){ print "<p
onClick=\"alert('Special Project')\"><TD BGCOLOR=\"white\">" . join("",
$rawsql[7]) . "</TD><TD BGCOLOR=\"white\">" . join("", $rawsql[8]) . "<TD
BGCOLOR=\"white\">" . join("", $rawsql[9]) . "<TD BGCOLOR=\"white\">" .
join("", $rawsql[10]) . "<TD BGCOLOR=\"white\">" . join("", $rawsql[11]);}
                if ($rawsql[6] eq 'Dead project'){ print "<p
onClick=\"alert('Dead Project')\"><TD BGCOLOR=\"black\"><FONT
COLOR=\"white\">" . join("", $rawsql[7]) . "</TD><TD BGCOLOR=\"black\"><FONT
COLOR=\"white\">" . join("", $rawsql[8]) . "<TD BGCOLOR=\"black\"><FONT
COLOR=\"white\">" . join("", $rawsql[9]) . "<TD BGCOLOR=\"black\"><FONT
COLOR=\"white\">" . join("", $rawsql[10]) . "<TD BGCOLOR=\"black\"><FONT
COLOR=\"white\">" . join("", $rawsql[11]);}
                print "</tr>";
        }
}
print <<HTML_SCRIPT2;
  </TABLE>
  <HR>
  <p align="center"><a
href="http://uk07_comp92/ProjectsDB/html/default.html";>BACK</a></p>
  </BODY>
  </HTML>
HTML_SCRIPT2
$sth->finish();
$dbh->disconnect;


Reply via email to