NumCli; //on effectue la mise à jour des données $SQL="UPDATE Clients SET NomCli=\"".strtoupper($NomClient)."\",PrenomCli=\"".ucwords($PrenomCli)."\",AdresseCli=\"".ucfirst($AdresseCli)."\",LieuDitCli=\"".$LieuDitClient."\",CPCli=\"".$CPClient."\",VilleCli=\"".strtoupper($VilleClient)."\",TelCli=\"".$TelephoneClient."\""; $SQL.=" WHERE NumCli LIKE \"$NumeroClient\""; $Requete4=mysql_query($SQL,CONNECTION); } mysql_free_result($Requete3); } } else { //on tient un compte client et cleui ci s'est enregistré $SQL="SELECT PseudoSession FROM Session WHERE NumSession LIKE '$Session'"; $Requete5=mysql_query($SQL,CONNECTION); if($Requete5) { $T=mysql_fetch_object($Requete5); $NumeroClient=$T->PseudoSession; if (ETAPES_PANIER==0) {//debut si étapes paneir //on met à jour les informations sur ce client s'il les as modifiées dans le formulaire précédent $SQL="UPDATE Clients SET NomCli=\"".strtoupper($NomClient)."\",PrenomCli=\"".ucwords($PrenomCli)."\",AdresseCli=\"".ucfirst($AdresseCli)."\",LieuDitCli=\"".$LieuDitClient."\",CPCli=\"".$CPClient."\",VilleCli=\"".strtoupper($VilleClient)."\",TelCli=\"".$TelephoneClient."\""; $SQL.=" WHERE NumCli LIKE \"$NumeroClient\""; $Requete6=mysql_query($SQL,CONNECTION); }//fin si pas étapes panier } mysql_free_result($Requete5); } if ($NumeroClient!=0) {//si lle client est enregistré nouvellement ou déjà connu $SQL="SELECT * FROM Facture WHERE SessionFacture='$Session'"; $Requete2=mysql_query($SQL,CONNECTION); if ($Requete2) {//on cherche si une facture existe déjà //on évite ainsi les doubles inscriptions dans la table si actualisation de la page if (mysql_num_rows($Requete2)==0) {//aucune facture n'est déjà répertoriée pour cette session $NumFacture=Cree_NumFacture(); if (ETAPES_PANIER==1) { $SQL="SELECT * FROM Commande WHERE SessionCommande='$Session'"; $Requete3=mysql_query($SQL,CONNECTION); if ($Requete3) { $T=mysql_fetch_object($Requete3); $livCivilite=$T->CiviliteCom; $livNom=$T->NomCom; $livPrenom=$T->PrenomCom; $livAdresse=addslashes($T->AdresseCom); $livCP=$T->CPCom; $livVille=$T->VilleCom; $livPays=$T->PaysCom; $EtatClient=$T->EtatFacture; $livMail=$T->EmailCom; $CouleurEmballageFacture=$T->CouleurEmballageCom; $CouleurCarteFacture=$T->CouleurCarteCom; $TexteFacture=addslashes($T->TexteCarteCom); $LibelleFraisPortFacture=$T->LibelleFraisPortCom; $CoutFraisPortFacture=$T->CoutFraisPortCom; mysql_free_result($Requete3); } }//fin si étapes panier==1 $SQL="INSERT INTO Facture VALUES ('".$NumFacture."','".NUM_UTILISATEUR."','$NumeroClient','$livCivilite','".$livNom."','".$livPrenom."','".$livAdresse."','','$livCP','$livVille','$Session','$livPays',NOW(''),'".$EtatClient."','".$livMail."','".$CouleurEmballageFacture."','".$CouleurCarteFacture."','".$TexteCarteFacture."','".$LibelleFraisPortFacture."','".$CoutFraisPortFacture."','0','0')"; $Requete=mysql_query($SQL,CONNECTION); if ($Requete) {//on a pu insérer la nouvelle facture/commande //maintenant on sélectionne dans le panier les lignes correspondantes au panier en cours $SQL="SELECT * FROM Panier WHERE SessionPanier='$Session'"; $Requete6=mysql_query($SQL,CONNECTION); $TotalPanierHorsPort=0; if ($Requete6) {//on peut sélectionner les lignes du panier for ($i=0;$iPrixHTPanier=$T->PrixHTPanier+$U->PrixValeur; $SQL="INSERT Options_Facture VALUES('$NumFacture','$NumLigneOption','".$U->LibelOption."','".$U->LibelValeurFr."','".$U->PrixValeur."')"; //print $SQL."
"; $Requete8=mysql_query($SQL,CONNECTION); } mysql_free_result($Requete7); } $TotalAAjouter=($T->QtitePanier*$T->PrixHTPanier); if (TVAAffichee=="Oui" && PRIX_TTC==0) {//gestion de la TVA et prix saisis en HT, faut ajouter la TVA au total de panier $TotalAAjouter=$TotalAAjouter*(1+$T->TVAPanier/100);} $TotalPanierHorsPort=$TotalPanierHorsPort+$TotalAAjouter; //insertion des ligens de produits $SQL="INSERT INTO Detail_Facture VALUES ('','$NumFacture','".$T->QtitePanier."','".$T->ProduitPanier."','".$T->TVAPanier."','".$T->PrixHTPanier."')"; $Requete7=mysql_query($SQL,CONNECTION); $NumLigneOption=mysql_insert_id(CONNECTION); //une fois le detail de la facture enregistré, on peut gérer les quantités de chaque produit $SQL="UPDATE Produits SET QuantiteProd=QuantiteProd-".$T->QtitePanier." WHERE NumProd='".$T->ProduitPanier."'"; $Requete9=mysql_query($SQL,CONNECTION); } //mise à jour de toutes les tables si besoin //penser à faire passer les lignes de la table points en définitif $SQL="UPDATE Points SET TempoPoints='Non' WHERE SessionPoints='$Session' AND NumUtilisateurPoints='".NUM_UTILISATEUR."'"; $Requete8=mysql_query($SQL,CONNECTION); if (TVAAffichee=="Oui") {if (PRIX_TTC==1) {//saisie des prix en TTC $TotalPanierHorsPort=$TotalPanierHorsPort; //rien à changer ? } else {//saisie des prix en HT $TotalPanierHorsPort=$TotalPanierHorsPort*(1+($T->TVAPanier/100));} } //mise à jour de la table facture avec le total hors port et les frais de port //echo "panier hors port : ",$TotalHorsPort,"
"; //echo "total panier= ",$TotalPanier[0],", cout = ",$CoutFraisPortFacture,"
"; $TotalPort=$TotalP[0]-$TotalPanierHorsPort-$CoutFraisPortFacture; $SQL="UPDATE Facture SET TotalFacture='$TotalPanierHorsPort',FraisPortFacture='$TotalPort' WHERE NumFacture='$NumFacture'"; $Requete7=mysql_query($SQL,CONNECTION); //si le compte fidelite est activé, on ajoute les points fidélité if (PROG_FIDELITE==1 and $TotalPanierHorsPort>0) {Credite_Fidelite($NumeroClient,$TotalPanierHorsPort,$Session); } mysql_free_result($Requete6); MAJ_NumFacture(); }//fin on a pu créer la facture //on vide le panier des lignes inutiles, cad les paniers d'hier, donc on conserve ceux en cours aujourd'hui $Date=getdate(); $Annee=$Date["year"]; $Y[1]=31; $Y[3]=31; $Y[4]=30; $Y[5]=31; $Y[6]=30; $Y[7]=31; $Y[8]=31; $Y[9]=30; $Y[10]=31; $Y[11]=30; $Y[12]=31; if (($Annee/4)-floor($Annee/4)==0) {$Y[2]=29;} else {$Y[2]=28;} if ($Date["mday"]==1) {//on est au debut du mois if ($Date["mon"]==1) {$Jour=$Y[12]; $Mois=12; $Annee=$Annee-1;} else {$Jour=$Y[$Date["mon"]-1]; $Mois=$Date["mon"]-1;} } else {$Jour=$Date["mday"]-1; $Mois=$Date["mon"]; } $DateFin=TransformeDate2($Jour,$Mois,$Annee); //Fait le vide dans les tables //ne conserve que les sessions d'aujordhui //vide la table panier pour ne garder que les $SQL="SELECT NumSession FROM Session WHERE DateSession <'$DateFin'"; $Requete6=mysql_query($SQL,CONNECTION); if ($Requete6) {for ($i=0;$iNumSession."'"; //effacer les options des paniers effacés $Requete7=mysql_query($SQL,CONNECTION); $SQL="DELETE FROM PanierOptions WHERE SessionPanier='".$T->NumSession."'"; $Requete7=mysql_query($SQL,CONNECTION); //effacer les commandes correspondantes aux sessions anciennes $SQL="DELETE FROM Commande WHERE SessionCommande ='".$T->NumSession."'"; } mysql_free_result($Requete6); //le vide maintenant fait, on supprime la session en cours et toutes les sessions jusqu'à hier //les sessions peuvent être supprimées puisque les factures sont enregistrées $SQL="DELETE FROM Session WHERE DateSession<'$DateFin' "; $SQL.=" OR NumSession='$Session'"; $Requete6=mysql_query($SQL,CONNECTION); //voilà toutes les tables propres maintenant. //les tables ne contiennent que les données sur 48 heures maxi // et ce sont les acheteurs qui les nettoient automatiquement. } $ErreurNo=""; }//fin on a pu insérer la nouvelle facture else {//impossible de créer la facture //reste à effacer le client qui a été créé if (COMPTE_CLIENT==0) {$SQL="DELETE FROM Clients WHERE NumCli=$NumeroClient"; $Requete=mysql_query($SQL,CONNECTION); } }//fin la création de la nouvelle facture est impossible }//fin il n'y a pas de facture pour cette session else {//recupération du numéro de facture déj enregistré $T=mysql_fetch_object($Requete2); $NumFacture=$T->NumFacture; } mysql_free_result($Requete2); }//fin on a cherche si une facture existe déjà }//fin si insertion du nouveau client est possible ?>