#!/usr/bin/perl -w
use strict;
use CGI qw(:standard);
use DBI;
print header, start_html("Daily Communication Log");
print "Submit New Log Entry
";
# Declare variables
my (
$analyst, # name of the analyst making the entry
$name, # name from combo box on html form
$shift, # shift analyst is on
$cust, # new customer turn up
$issues, # customer specific issues analysts should be aware of
$eoi, # events that require observation
$message, # general comments not related to previous fields
$cur, # keeps current entries
$dbh, # database handler
$filter, # escapes single quote
$sql, # handles statements
$stq, # does query
);
$cur = CGI->new(); #hold current request
$message=$cur->param("message");
$cust=$cur->param("cust");
$issues=$cur->param("issues");
$eoi=$cur->param("eoi");
$analyst=$cur->param("analyst");
($shift,$name)=split(/:/,$analyst);
# Connect to Database
$dbh = DBI->connect("DBI:mysql:dcl:localhost","user","passwd");
if ($message) {
# SQL Statement
$stq = $dbh->prepare( qq{ insert into dcl_log values(now(),"$name","$shift","$cust","$issues","$eoi","$message")
});
$stq->execute ||
print "Unable to execute MySQL statement";
}
# Execute query and print after values have been entered
# Need to see the last 5 entires in reverse order
$sql = "select * from dcl_log order by timestamp desc limit 5";
$stq = $dbh->prepare($sql);
$stq->execute ||
print "Could not complete SQL statement ... check syntax.";
# Output results
my @row;
while (@row=$stq->fetchrow_array)
{table_data (@row);}
$dbh->disconnect();
print end_html;
sub table_data {
my @data = @_;
my %D;
print "
| $D{'time'} | |
| Name:\n"; print " | $D{'name'} |
| Shift:\n"; print " | $D{'shift'} |
| Customer: | |
| $D{'cust'} | |
| Issues: | |
| $D{'issues'} | |
| EOI: | |
| $D{'eoi'} | |
| Message: | |
| $D{'message'} | |