On Wed, 2005-02-16 at 14:36 -0500, Chris Devers wrote: > On Wed, 16 Feb 2005, mike wrote: > > > [Does] anyone [have] any ideas[question-mark] > > Post the code. > > We cannot help you without being able to see the code in question. > > > -- > Chris Devers >
Here it is #!/usr/bin/perl -ww use CGI qw/:standard/; use DBI; print header; print start_html(-title=>"Timesheet",-BGCOLOR=>'#FCD08C',); print h1("Type in details of times worked and adjustments"); print br,br,br; my $user=param('user'); my $pw=param('pass'); my $year=param('year1'); my $month1=param('mon1'); my $date1=param('date1'); if($month1 < '10'){ $month2=substr($month1,1,1)} else{ $month2=$month1 }; $monthsel="$year$month2"; $dbh=DBI->connect("dbi:Pg:dbname=data_cc",$user,$pw); $sth=$dbh->prepare(q{INSERT INTO tb_times (date,user1,adj,ti1,ti2,to1,to2,ei,eo,adj_am2,adj_am) SELECT DISTINCT date1,?,'W','00:00'::time,'00:00'::time,'00:00'::time,'00:00'::time,'00:00'::time,'00:00'::time, '00:00'::time, '00:00'::time FROM tb_cal WHERE (?||date1||'W') NOT IN (SELECT (user1||date||'W') FROM tb_times) AND date_part('year',date1)||date_part('month',date1)=?}); $sth->bind_param(1,$user); $sth->bind_param(2,$user); $sth->bind_param(3,$monthsel); $sth->execute(); #$row3=$dbh->prepare("SELECT typeabsence FROM lk_absence ORDER BY typeabsence"); print start_multipart_form (POST,&update); $dbh=DBI->connect("dbi:Pg:dbname=data_cc",$user,$pw); $row1=$dbh->prepare("SELECT date1,ti1 ,to1,ti2,to2,adj,ei,eo,CASE WHEN date1 <= left(now(),'10') THEN flex_ours ELSE' 00:00:00' END,CASE WHEN date1 <= left(now(),'10') THEN flex_bal ELSE' 00:00:00' END ,lieu,to_char(date1::date,'Dy'), to_char(date1::date,'DD Mon YYYY'),date1||adj,adj,adj_am,adj_am2 FROM vw_times_list1 WHERE (user1|| date_part('year',date1)||date_part('mon',date1)) = ? ORDER BY date1"); $row1->bind_param(1,$date3); $row1->execute(); print "<table border = 1>",th,"day",td,"Date",td,"Time In",td,"Break Start",td,"Break End",td,"Time Out",td,"Evening In",td,"Evening Out",td,"flex hours",td,"flex bal",td,"lieu",td,"adjustment",td,"lieu adjustment",td,"type"; while (($days,$ti1,$to1,$ti2,$to2,$adj,$ei,$eo,$flex,$flex_bal,$lieu, $dayname,$date_pretty,$key1,$adj,$adj_am1,$adj_am2)= $row1- >fetchrow_array()) { $row3=$dbh->prepare("SELECT typeabsence FROM lk_absence ORDER BY typeabsence"); $row3->execute(); @absence; while (($abtype)= $row3->fetchrow_array()) { push (@absence,$abtype) } @times= ($ti1,$to1,$ti2,$to2,$adj,$days,$ei,$eo,$flex,$flex_bal,$lieu, $date_pretty,$key1,$adj,$adj_am1,$adj_am2); $days1=$days; print Tr; print td,$dayname; print hidden(-name=>'day'.$key1,-default=>"$days1"); print td,textfield(-name=>'dayp'.$key1,-size=>'9',-maxlength=>'12',- default=>"$date_pretty"); default=>$days); default=>$month2); print td,textfield(-name=>'ti1'.$key1,-size=>'6',-maxlength=>'12',- default=>$times[0]); print td,textfield(-name=>'to1'.$key1,-size=>'6',-maxlength=>'12',- default=>$times[1]); print td,textfield(-name=>'ti2'.$key1,-size=>'6',-maxlength=>'12',- default=>$times[2]),br; print td,textfield(-name=>'to2'.$key1,-size=>'6',-maxlength=>'12',- default=>$times[3]); print td,textfield(-name=>'e1'.$key1,-size=>'6',-maxlength=>'12',- default=>$times[6]); print td,textfield(-name=>'e2'.$key1,-size=>'6',-maxlength=>'10',- default=>$times[7]); print td,textfield(-name=>'flex'.$key1,-size=>'6',-maxlength=>'12',- default=>$times[8],-style=>'Color:White;background: red'); print td,textfield(-name=>'bal'.$key1,-size=>'6',-maxlength=>'12',- default=>$times[9],-style=>'Color:white;background: red'); print td,textfield(-name=>'lieu'.$key1,-size=>'6',-maxlength=>'10',- default=>$times[10],-style=>'Color:white;background: red'); print td,textfield(-name=>'adjam1'.$key1,-size=>'6',-maxlength=>'10',- default=>$adj_am1); print td,textfield(-name=>'adjam2'.$key1,-size=>'6',-maxlength=>'10',- default=>$adj_am2); print td,popup_menu(-name=>'adjt'.$key1,-values=>[EMAIL PROTECTED],- default=>$adj); ($wkday,$month,$day,$time,$year)=split(/\s+/,localtime); } print "</table>"; print hidden ('user',$user); print hidden ('pass',$pw); print p,submit(-name=>'Save Changes',-style=>'background:red; Color:white;border-style:radius;border-size:5'); print end_form,p,p,p,p; print end_html; >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> sub update { $user=param('user'); $pw=param('pw'); @value=param(); $dbh=DBI->connect("dbi:Pg:dbname=data_cc",$user,$pw); print $monthsel; pop @value; pop @value; pop @value; #print @value,br; @value2; foreach $value (@value){ $value1=substr($value,0,5); if ($value1 eq "adjt2"){ push (@value2,param($value)); push (@value2,'~'); } else { push (@value2,param($value)); push (@value2,'#'); } } $value4=join('',@value2); @array3=split(/~/,$value4); $adj_date=param('adj_date'); foreach $array3(@array3){ @times1=split(/#/,$array3); $row7=$dbh->prepare("SELECT DISTINCT to_char(date::date,'YYYY-MM-DD') FROM tb_times WHERE to_char(date::date,'DD Mon YYYY') = ?"); $row7->bind_param(1,$adj_date); $row7->execute(); while (($adj_date1)=$row7->fetchrow_array()) { $adj_date2=$adj_date1; } $date; $date=$times1[0]; $ti1=$times1[2]; $to2=$times1[5]; $to1=$times1[3]; $ti2=$times1[4]; $ei=$times1[6]; $eo=$times1[7]; $adj_am1=$times1[11]; $adj_am2=$times1[12]; $adjw=$times1[13]; if (substr($date,5,1) == '0'){ $mon=substr($date,0,4).substr($date,6,1) } else{ $mon=substr($date,0,4).substr($date,5,2) } if(!$ei){ $ei='00:00:00'; } if(!$eo){ $eo='00:00:00'; } $mon1=$mon; $con1='18:01'; $date1="$user$date"; $row1=$dbh->prepare("SELECT (user1||date) FROM tb_times WHERE (user1|| date) = ?"); $row1->bind_param(1,$date1); $row1->execute(); while (($date3)= $row1->fetchrow_array()) { $date4=$date3; } $rowa=$dbh->prepare("SELECT ab_id FROM lk_absence WHERE typeabsence = ?"); $rowa->bind_param(1,$adjw); $rowa->execute(); while (($abjid1)= $rowa->fetchrow_array()) { $adjid=$abjid1; #print $date3 } $row6=$dbh->prepare("SELECT CASE WHEN date_part('dow',?::date)='5' AND (? = '2' OR ?='6' OR ?='7' OR ?='8' OR ?='12') THEN '7:00' WHEN date_part('dow',?::date)='5' AND (? = '1' OR ? ='5' OR ?='13') THEN '3:30' WHEN date_part('dow',?::date) <> '5' AND (? = '2' OR ?='6' OR ? ='7' OR ?='8' OR ?='12') THEN '7:30' WHEN date_part('dow',?::date)<>'5' AND (? = '1' OR ? ='5' OR ?='13') THEN '3:45' ELSE ? END"); $row6->bind_param(1,$date); $row6->bind_param(2,$adjid); $row6->bind_param(3,$adjid); $row6->bind_param(4,$adjid); $row6->bind_param(5,$adjid); $row6->bind_param(6,$adjid); $row6->bind_param(7,$date); $row6->bind_param(8,$adjid); $row6->bind_param(9,$adjid); $row6->bind_param(10,$adjid); #$row6->bind_param(11,$adj_am1); $row6->bind_param(11,$date); $row6->bind_param(12,$adjid); $row6->bind_param(13,$adjid); $row6->bind_param(14,$adjid); $row6->bind_param(15,$adjid); $row6->bind_param(16,$adjid); $row6->bind_param(17,$date); $row6->bind_param(18,$adjid); $row6->bind_param(19,$adjid); $row6->bind_param(20,$adjid); $row6->bind_param(21,$adj_am1); $row6->execute(); while (($adjamn1)= $row6->fetchrow_array()) { $adjamnew=$adjamn1; } $rowl=$dbh->prepare("SELECT CASE WHEN ?=12 OR ?=13 THEN (?::interval - (2*?::interval)) ELSE '00:00:00'::interval END"); $rowl->bind_param(1,$adjid); $rowl->bind_param(2,$adjid); $rowl->bind_param(3,$adjamnew); $rowl->bind_param(4,$adjamnew); $rowl->execute(); while (($lieu) = $rowl->fetchrow_array()) { $adjamnew2=$lieu } $sth1=$dbh->prepare(q{UPDATE tb_times SET ti1 = ?, to1 =?, ti2= ?, to2=?,adj_am =?,adj_am2=?,ei=?,eo=?,adj=? WHERE (user1||date)= ?}); $sth1->bind_param(1,$ti1); $sth1->bind_param(2,$to1); $sth1->bind_param(3,$ti2); $sth1->bind_param(4,$to2); $sth1->bind_param(10,$date4); $sth1->bind_param(5,$adjamnew); $sth1->bind_param(6,$adjamnew2); $sth1->bind_param(7,$ei); $sth1->bind_param(8,$eo); $sth1->bind_param(9,$adjw); $sth1->execute(); } #print start_multipart_form (POST); #print hidden ('user',$user); #print hidden ('pass',$pw); #print end_form } -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>