From: Constantin Teodorescu <teo@flex.ro>
To: Ilhuicatzi Cortes J. Henry <ic94006@solar6.ingenieria.uatx.mx>
To: PostgreSQL Interfaces <pgsql-interfaces@postgresql.org>
Subject: Re: [INTERFACES] Pg and Perl!!
Date: Thu, 29 Apr 1999 05:42:34 +0000
Message-ID: <3727F14A.19014A16@flex.ro> (raw)
References: <Pine.GSO.3.96.990428153707.20316A-100000@solar6.ingenieria.uatx.mx>
"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=$dolar where 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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-interfaces@postgresql.org
Cc: teo@flex.ro, ic94006@solar6.ingenieria.uatx.mx
Subject: Re: [INTERFACES] Pg and Perl!!
In-Reply-To: <3727F14A.19014A16@flex.ro>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox