\n";
print "\n";
print " | \n";
print " | \n";
print "Ref | \n";
print "Désignation | \n";
print "Qté | \n";
print "Prix unitaire HT | \n";
print "Sous-total HT | \n";
print "
\n";
# se connecter a la base
$dbh = DBI->connect("dbi:Pg:dbname=s_marchand", postgres, ) or die $DBI::errstr;
# supprimer les articles decoches
if ($suppr1 eq "on"){
&maj_panier($ID_client_el, $famille1, $produit1, $qte1);
}else{
&supprimer ($ID_client_el, $famille1, $produit1);
}
if ($suppr2 eq "on"){
&maj_panier($ID_client_el, $famille2, $produit2, $qte2);
}else{
&supprimer ($ID_client_el, $famille2, $produit2);
}
if ($suppr3 eq "on"){
&maj_panier($ID_client_el, $famille3, $produit3, $qte3);
}else{
&supprimer ($ID_client_el, $famille3, $produit3);
}
&afficher_calepin();
# se deconnecter de la base
$dbh->disconnect;
#afficher la fin de la page de selection des produits
print "\n";
# boutons de gestion de la commande
print "
\n";
print "\n";
print " | \n";
print " | \n";
print "\n";
print " | \n";
print " | \n";
print "\n";
print "
\n";
print "
\n";
print "\n";
print "";
print "Pour ajouter des articles, retournez sur le catalogue et sélectionnez les articles choisis.
\n";
print "Pour supprimer un article de votre sélection, vous devez le décocher, puis cliquer sur le bouton recalculer pour mettre à jour les totaux.
\n";
print "Pour commander plusieurs exemplaires d\'un produit, modifiez sa quantité puis recalculez le montant de votre commande.
\n";
print "Lorsque vous êtes satisfait de votre sélection, cliquez sur le bouton commander.\n";
print "<\BODY>";
print "<\HTML>\n";
sub maj_panier {
$arg1 = $_[0];
$arg2 = $_[1];
$arg3 = $_[2];
$qte = $_[3];
$maj_panier = $dbh->prepare( "UPDATE panier SET qte = $qte" .
"WHERE id_client_el='$arg1' " .
"AND code_famille='$arg2' " .
"AND code_produit='$arg3'");
$maj_panier->execute;
$maj_panier->finish;
}
sub supprimer {
$arg1 = $_[0];
$arg2 = $_[1];
$arg3 = $_[2];
$cursor = $dbh->prepare("DELETE FROM panier " .
"WHERE id_client_el='$arg1' " .
"AND code_famille='$arg2' " .
"AND code_produit='$arg3'");
$cursor->execute;
$cursor->finish;
}
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 '$ID_client_el' " .
"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 "$cpt | \n";
print "$code_famille $code_produit | \n";
print "$denomination | \n";
print " | \n";
print "$prix_ht | \n";
$s_total = $prix_ht * $qte;
print "$s_total | \n";
print "\n";
print "\n";
#print "\n";
print "
\n";
$total_ht += $s_total;
$cpt++;
}
$cursor->finish;
print "\n";
# 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 "
Total H\.T\. \: | \n";
print "
$total_ht | \n";
print "
\n";
print "\n";
print " | \n";
print " | \n";
print " | \n";
print " | \n";
print " | \n";
print "T\.V\.A\.\ (19,6 \%\) \: | \n";
print "$tva | \n";
print "
\n";
print "\n";
print " | \n";
print " | \n";
print " | \n";
print " | \n";
print " | \n";
print "TOTAL T\.\T.\C\. \: | \n";
print "$total_ttc | \n";
print "
\n";
print "\n";
print " | \n";
print "
\n";
print "
\n";
print "