#!/usr/bin/perl #use strict; #use warnings; require "dbi-lib.pl"; use CGI qw/:standard *table start_ul/, (-unique_headers); use CGI::Carp qw(fatalsToBrowser); use DBI; my $cgi = new CGI; local $sth; #----------------------# # Function calls # #----------------------# print_header(); initialize_dbi(); #----------------# # Begin Main # #----------------# print $cgi->header(), $cgi->start_html ('Oreilly Lesson 11'), $cgi->h1 ({-style=>'Color:blue'},'SQL Class'); print "",$cgi->strong('Date/Time CGI Table:'),"
"; print $cgi->caption('MySQL calendar table output, Lesson 11:'); print "
"; run_statement( "select date_format(curdate(), '%b %e, %Y');" ); my $today = $sth->fetchrow; run_statement("select dayofweek(curdate() );" ); my $dayofweek = $sth->fetchrow; #&run_statement( "select date_format(curdate()-2,'%W');" ); #my $twodayago = $sth->fetchrow; #print "$twodayago
"; my %WeekDays = ( Sunday => 1, Monday => 2, Tuesday => 3, Wednesday => 4, Thursday => 5, Friday => 6, Saturday => 7 ); my ($day, $day1, $week,) = (0,0,0); my (@weeks, @weeks1, @weeks_anonymous,) = ((),(),()); ## Set up array with dates minus 15 days and plus 15 days from current date ## foreach $day ('-15' .. '15') { run_statement( "select date_format(date_add(curdate(), interval '$day' day), '%b %e, %Y');" ); push (@weeks, $sth->fetchrow); } ## Match up dates with dayofweek #'s ## foreach $day1 ('-15' .. '15') { run_statement( "select dayofweek(date_add(curdate(), interval '$day1' day));" ); push (@weeks1, $sth->fetchrow); } ## Begin Table ## print table({border=>undef}); #print Tr ({-align=>'CENTER',-valign=>'TOP'}); @weeks_anonymous = ( [ $weeks[0], $weeks[1], $weeks[2], $weeks[3], $weeks[4], $weeks[5], $weeks[6] ], [ $weeks[7], $weeks[8], $weeks[9], $weeks[10], $weeks[11], $weeks[12], $weeks[13] ], [ $weeks[14], $weeks[15], $weeks[16], $weeks[17], $weeks[18], $weeks[19], $weeks[20] ], [ $weeks[21], $weeks[22], $weeks[23], $weeks[24], $weeks[25], $weeks[26], $weeks[27] ], [ $weeks[28], $weeks[29], $weeks[30], $weeks[31], undef, undef, undef ], ); foreach $element (@weeks_anonymous) { print Tr({-align=>'CENTER',-valign=>'TOP'}); for $date (@{$element}) { if (! defined $date) { print td (''); } elsif ($date eq $today) { print td(strong($date) ); } else { print td ($date); } } print $cgi->end_Tr; } print $cgi->end_html; # thank you !