#!/usr/bin/perl #script cgi du bon de commande use DBI; use CGI; require "cgi-lib.pl"; $date = `/bin/date '+%e/%m/%Y'`; # lire l'identifiant du client en ligne. # a partir de celui-ci on peut obtenir le contenu de son panier # et toutes ses coordonnees puisque "email" reference un client de la "base_clients" # toutes ces informations permettent d'etablir le bon de commande &ReadParse(*query); $ID_client_el = $query{'ID_client_el'}; $taux_tva = 0.196; $html = new CGI; # se connecter a la base $dbh = DBI->connect("dbi:Pg:dbname=s_marchand", postgres, ) or die $DBI::errstr; # retrouver le client qui effectue la commande $client = $dbh->prepare("SELECT bc.societe , bc.civilite, bc.nom, bc.prenom " . "FROM base_clients bc, client_en_ligne cl " . "WHERE cl.id_client_el = '$ID_client_el ' " . "AND cl.num_client = bc.num_client " ); #"WHERE cl.num_client = bc.num_client " ); $client->execute; @client = $client->fetchrow; ($societe, $civilite, $nom, $prenom) = @client; $client->finish; # determiner le numero de commande $cpt_cmde = $dbh->prepare("SELECT count(*) from commandes"); $cpt_cmde->execute; $nbcom = $cpt_cmde->fetchrow; $numero = $nbcom + 1; $cpt_cmde->finish; # se deconnecter de la base $dbh->disconnect; print $html->header; print "\n"; print "\n"; print "Bon de commande \n"; print "\n"; print "\n"; print "\n"; #print "identifiant du client $ID_client_el\n"; # en-tete du bon de commande print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "<\tr>\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "

Bon de commande : C$numero
AIRTRIA SADATE : $date
9 rue Fulgence Bienvenue
22301 LANNION CEDEXTel: 02 96 05 82 72Fax: 02 96 05 82 70Capital: 50 000 Eurosà l\'attention de $civilite $nom $prenomR.C.S: GUINGAMP TBI B 410 563 035SOCIÉTÉ $societe
\n"; print "\n"; print "
\n"; print "

\n"; # Afficher le contenu de la commande # affichage du debut du calepin print "

\n"; print "
\n"; print "\n"; print "\n"; #print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; # se connecter a la base $dbh = DBI->connect("dbi:Pg:dbname=s_marchand", postgres, ) or die $DBI::errstr; afficher_calepin(); # se deconnecter de la base $dbh->disconnect; print "<\BODY>\n"; print "<\HTML>\n"; sub afficher_calepin { # recuperer les produits selectionnes par le client concerne $cursor = $dbh->prepare( "SELECT pa.code_famille, pa.code_produit, pr.denomination, pa.qte, pr.prix_ht " . "FROM produits pr, panier pa " . "WHERE pa.id_client_el like '1-Tue/Sep/4' " . "AND pa.code_famille = pr.code_famille " . "AND pa.code_produit= pr.code_produit" ); $cursor->execute; $cpt = 1; while ( @lgcom = $cursor->fetchrow) { ($code_famille,$code_produit,$denomination,$qte,$prix_ht) = @lgcom; print "\n"; #print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; $s_total = $prix_ht * $qte; print "\n"; print "\n"; print "\n"; print "\n"; $total_ht += $s_total; $cpt++; } print "\n"; $cursor->finish; # calcul de la tva $tva = $total_ht * $taux_tva; # calcul du total hors taxe $total_ttc = $total_ht + $tva ; # affichage des totaux print "\n"; #print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; #print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; #print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
RefDésignationQtéPrix unitaire HT Sous-total HT
$cpt$code_famille $code_produit$denomination$qte$prix_ht$s_total


Total H\.T\. \:


$total_ht
T\.V\.A\.\ (19,6 \%\) \: $tva
TOTAL T\.\T.\C\. \: $total_ttc
Choisissez votre mode de paiment : Carte bancaire\n"; print "\n"; print "Cheque\n"; print "\n"; print "
\n"; print "\n"; print "\n"; print "
\n"; print "
\n"; }