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>


Reply via email to