Re: [INTERFACES] Pg and Perl!! - Mailing list pgsql-interfaces

From Constantin Teodorescu
Subject Re: [INTERFACES] Pg and Perl!!
Date
Msg-id 3727F14A.19014A16@flex.ro
Whole thread Raw
In response to Pg and Perl!!  ("Ilhuicatzi Cortes J. Henry" <ic94006@solar6.ingenieria.uatx.mx>)
List pgsql-interfaces
"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


pgsql-interfaces by date:

Previous
From: Constantin Teodorescu
Date:
Subject: Re: [INTERFACES] RPM for PgAccess 0.96
Next
From: "michel"
Date:
Subject: connection postgres