"Ilhuicatzi Cortes J. Henry" wrote:
>
> Hi:
>
> im using Pg to make CGI's beetwen Postgres and perl, where can i find
> examples about Pg. I have tried to make any CGI's and doesn't work fine.
>
> Does someone have any examples about CGI?
Sorry , they are in romaniana language !
#!/usr/bin/perl
# Decomentati urmatoarea linie daca lucrati cu Postgres
use Pg;
$datele = <STDIN>; @pairs = split(/&/, $datele); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair);
# restore blank $value =~ tr/+/ /; # restore special char $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",
hex($1))/eg; # store them into associative array %VAR chomp $value; $value =~ s/\r//; $VAR{$name} = $value ;
}
# preluam cimpurile transmise in variabile $database = $VAR{'db'}; $data = $VAR{'data'}; $dolar =
$VAR{'dolar'}; $oldata=$data;
($zi,$luna,$an)=split(/\./,$data); if ( $an < 100) { $an += 1900;} $data=$luna.'-'.$zi.'-'.$an;
# Acest rind este obligatoriu pentru inceput de HTML raspuns
print "Content-type:text/html\n\n";
print <<EOM;
<HTML>
<HEAD>
<TITLE>Adaugare curs dolar</TITLE>
</HEAD>
<BODY>
<H1>Curs dolar</H1>
<br>
S-a solicitat actualizarea cursului dolarului
pentru data de <b>$oldata</b> la valoarea de <b>$dolar
Lei/USD</b><br><br>
EOM
$con=PQsetdb('',5432,'','',$database);
$res=PQexec($con,"select * from valuta where data='$data'");
$errmsg=PQerrorMessage($con);
if($errmsg ne '') { print "EROARE : ",$errmsg; print "</body></html>\n"; PQclear($res); PQfinish($con); exit 1;
}
if(PQntuples($res) > 0) { print "<B>Informatia valutara pentru data $oldata era introdusa
!!!</b><br>"; print "Cursul valutar pentru aceasta zi era
",PQgetvalue($res,0,1),"<br>"; print "Modificam cu noul curs : ",$dolar,"<br><br>\n"; $sqlcmd="update valuta set
dolar=$dolarwhere data='$data'";
} else { $sqlcmd="insert into valuta (data,dolar) values ('$data',$dolar)";
}
PQclear($res);
$res=PQexec($con,$sqlcmd);
$errmsg = PQerrorMessage($con);
if ( $errmsg ne '' ) { print '<font color="#FF0000">'; print "<b>EROARE : ",$errmsg,"</b></font><br>"; print
"SQL=$sqlcmd<br>";
} else { print "Baza de date a fost actualizata cu succes.";
}
PQclear($res);
PQfinish($con);
--
Constantin Teodorescu
FLEX Consulting Braila, ROMANIA