begin process at 2012 05 27 19:18:41
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

E-Commerce

 > MINI BOUTIQUE EN LIGNE ET DEVIS PAR MAIL TRANSMISSION INDIVIDUELLE DES ARTICLES DANS UN PANIER PAYPAL

MINI BOUTIQUE EN LIGNE ET DEVIS PAR MAIL TRANSMISSION INDIVIDUELLE DES ARTICLES DANS UN PANIER PAYPAL


 Information sur la source

Note :
Aucune note
Catégorie :E-Commerce Classé sous :Mini boutique, Demande devis, paypal, panier détaillé Niveau :Débutant Date de création :25/06/2008 Date de mise à jour :02/07/2008 22:12:31 Vu / téléchargé :16 916 / 2 848

Auteur : Tom_Crazy

Ecrire un message privé
Site perso
Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
En une seule page:

on affiche les produits stockés dans une base de données (prix, désignations, frais de livraison/traitement oui ou non...).

On renseigne le nombre de produits choisis.

Permet trois choix d'affichage ( uniquement les produits choisis, non choisis ou les deux).

Permet une demande de devis par un formulaire optionnel (nom email message) et transmet la demande à une adresse prédéfinie et a celle du client (vérification sommaire de la validité de cette adresse).

Permet une impression sélective du devis.

Transmet les produits choisis à un panier PayPal business en détaillant chaque produit ( quantité prix)

Permet de différencier les produits soumis à des frais de livraison / traitement de ceux qui ne le sont pas.

Source

  • <!--
  • contenu du ficher de connexion db
  • <?php //$connexion = mysql_connect('adresse serveur mysql','utilisateur','mot de passe') OR die(mysql_error());;
  • //mysql_select_db('nom de la base de donnees',$connexion);
  • ?>
  • -->
  • <!--
  • La creation et le remplissage des tables de la db ne sont pas gere ici
  • vous devez le faire manuellement
  • Le code du bouton d'envoi a PayPal provient du site PayPal, j'ai juste ajoute la boucle PHP pour gerer le multi produits
  • -->
  • <form method="post" name="facture" action="<?php echo $PHP_SELF."#bouton"; ?>">
  • <input type='submit' name='action' value='Calculer'>
  • <table class="t1" summary="Formulaire devis facture">
  • <tr>
  • <td class="c4" style="width : 50%;" >Type de prestation</td>
  • <td class="c4" style="width : 17%;" >Quantités</td>
  • <td class="c4" style="width : 33%;" >Total ligne</td>
  • </tr>
  • <!-- debut script php -->
  • <?php
  • echo "\n\n\n\n\n\n<!--\n
  • #############################################################################################\n
  • # script de panier PayPal avec stockage des produits mysql et envoi du detail au panier PayPal\n
  • # gestion des frais de traitement livraison\n
  • # demande de devis possible avec envoi par mail au demandeur et au gestionaire du site\n
  • #############################################################################################\n\n
  • #############################################################################################\n
  • # Ce script a ete developpe par 2AIDE, vous vous sera fourni gratuitement sur simple demande depuis le site http://www.2aide.fr/\n
  • # Aucun support supplementaire ne vous sera propose gratuitement\n
  • # Vous pouvez malgre tout solliciter une aide dans le cadre des prestations proposees sur le site http://www.2aide.fr/\n
  • # Bien qu'il en soit maintenant tres eloigne ce script a ete inspire, au depart par un formulaire de contact propose gratuitement lui aussi.\n
  • # 2aide remercie donc http://www.patrickhamy.net/ auteur de ce formulaire de contact\n
  • #############################################################################################\n\n
  • #############################################################################################\n
  • # A vous de voir pour les css\n
  • # Je precise juste que la classe masimp est declaree dans une feuille de style dediee a l'impression: media=print\n
  • # Si vous utilisez ce code merci de laisser ces remarques\n
  • #############################################################################################\n
  • --> \n\n\n\n\n ";
  • include ('FICHIER DE CONNEXION DB');
  • $produit = 'SELECT * FROM `produits` WHERE vente = 1 ORDER BY cat, id';
  • $liste = mysql_query( $produit,$connexion );
  • $trans = array ( "&egrave;" => "e", "&eacute;" => "e", "&agrave;" => "a", "&ecirc;" => "e", "&frac12;" => "1/2", "&ocirc;" => "o", "&ccedil;" => "c", "&Egrave;" => "E", "&Eacute;" => "E", "&Agrave;" => "A", "&Ecirc;" => "E", "&Ocirc;" => "O", "&Ccedil;" => "C"); //suppression des accents pour formulaire transmit a PayPal car probleme avec codage des caracteres
  • $tota1 = array(0);
  • $frais1 = array(0);
  • $prod1 = array(0);
  • $prix1 = array(0);
  • $quant = array(0);
  • $mail = array(0);
  • $numprod = 0;
  • $i = 0;
  • if (isset($_POST[$var])) $_POST[$var]="0";
  • while ($tablo = mysql_fetch_array($liste))
  • {
  • if (!isset($_POST[$var])) $_POST[$var]="0";
  • $i++; //Incrementee a chaques tour de boucle WHILE
  • $var = 'var'.$i; //Construction des variables POST du formulaire
  • if ( $_POST["reset"] =="on" ) // reset des variables formulaires
  • {
  • $_POST[$var]= "0";
  • $_POST['nom']= "0";
  • $_POST['prenom']= "0";
  • $_POST['message']= "0";
  • $_POST['email']= "0";
  • $_POST["envoi"] ="";
  • } //Vide tous les champs du formulaire
  • if ($_POST[$var]> "0") // si nombre d'articles commande superieurs a 0 pour une ligne
  • {
  • $numprod++; // compte le nombre d'articles selectionnes
  • } // Creation de la variable de generation item pour les variables produits du bouton PayPal
  • $prod = $tablo['designation']; // designation des articles
  • $prodnohtm = strip_tags($prod); // supression des balises html dans designation des articles
  • $proddec = html_entity_decode($prodnohtm, null, 'UTF-8'); // remplacement des entites html par le caractere accentue
  • $prodno = strtr($prodnohtm, $trans); // remplacement des caracteres accentues par le caractere normal le plus proche ( supression des accents) pour formulaire transmit a PayPal
  • $prix = $tablo['prix']; // designation des articles
  • if ($_POST[$var]> "0") // nombre d'articles commande superieurs a 0 pour une ligne
  • {
  • $prod1[$numprod] = $prodno; //inscrit tous les produits selectionnes dans une variable tableau
  • $quant[$numprod] = $_POST[$var]; //inscrit toutes les quantites produits selectionnes dans une variable tableau
  • $prix1[$numprod] = $prix; //inscrit tout les prix produits selectionnes dans une variable tableau
  • }
  • $trait = $tablo['traitement']; //variable frais de livraison-traitement oui ou non
  • if ($prix<>0) //verifie qu'un prix ne soit pas egal a 0
  • {
  • $prixht = ($prix/1.196)*$_POST[$var]; //calcule le prix ht a partir du ttc
  • }
  • $tva = round(($prixht*0.196),2); //calcule le montant de la TVA
  • $type = $tablo['type']; //affectation du produit creation web ou depannage
  • $total1[$i] = $prix*$_POST[$var]; //inscrit le prix total de chaque ligne dans une variable tableau
  • if ($trait==1 && $prix*$_POST[$var]<>0) //si frais de livraison-traitement oui et nombre de produits x par prix >0
  • {
  • $fraisunit = ((($prix*$_POST[$var])/100)*3.4)+0.25; //calcule les frais de traitement
  • }
  • else {$fraisunit = 0;} //si pas de frais de traitement la variable est egale a 0
  • $frais1[$i] = $fraisunit; //inscrit les frais de traitement de chaque ligne dans une variable tableau
  • if ( $trait == 1) //si frais de traitement oui
  • {
  • $note = "+ frais de traitement"; //texte affiche pour frais de traitement oui
  • }
  • else { $note = "pas de frais de traitement";} //texte affiche pour frais de traitement non
  • if ($_POST[$var] > 0) // si nombre de produits >0
  • {
  • $imp = ""; // autorisation d'impression de la ligne
  • }
  • else { $imp = "class='masimp' ";} // interdiction d'impression de la ligne
  • if ( $_POST["reset"] =="on" ) // si demande remise a 0 du formulaire
  • {
  • $chk = 'checked="checked"'; // je force la case afficher les produits choisis a cochee
  • $chk1 = 'checked="checked"'; // je force la case afficher les produits non choisis a cochee
  • $vu = ""; //je ne cache aucune ligne
  • }
  • else //pas de demande de remise a 0 du formulaire
  • {
  • if ($_POST[$var] > 0 AND $_POST["masq"] !="on" AND $_POST["envoi"] !="on" ) //si nombre de produit > 0 ET case afficher les produits choisis pas cochee ET case envoyer demande de devis cochee
  • {
  • $vu = 'style="display : none;"'; //je n'affiche pas la ligne
  • }
  • if ($_POST[$var] > 0 AND $_POST["masq"] =="on" ) //si nombre de produit > 0 ET case afficher les produits choisis cochee
  • {
  • $vu = ""; //j'affiche la ligne
  • }
  • if ($_POST[$var] == 0 AND ($_POST["masq1"] !="on" OR $_POST["envoi"] =="on") ) //si nombre de produit = 0 ET case afficher les produits non choisis pas cochee ou case envoyer demande de devis cochee
  • {
  • $vu = 'style="display : none;"'; //je n'affiche pas la ligne
  • }
  • if ($_POST[$var] == 0 AND ($_POST["masq1"] =="on" AND $_POST["envoi"] !="on")) //si nombre de produit = 0 ET case afficher les produits non choisis cochee et case envoyer demande de devis pas cochee
  • {
  • $vu = ""; //j'affiche la ligne
  • }
  • if ($_POST["masq1"] !="on" AND $_POST["masq"] !="on" ) //si les cases afficher produits choisis et non choisis sont cochees
  • {
  • $vu = ""; //j'affiche la ligne
  • }
  • if ( $_POST["masq"] =="on" OR $_POST["envoi"] =="on" ) //si case afficher les produits choisis cochee OU case envoyer demande de devis cochee
  • {
  • $chk = 'checked="checked"'; //valeur par defaut de la case afficher les produits choisis a cochee
  • }
  • else { $chk = "";} //sinon valeur par defaut de la case afficher les produits choisis a pas cochee
  • if ( $_POST["masq1"] =="on" AND $_POST["envoi"] !="on" ) //si case afficher les produits non choisis cochee ET case envoyer demande de devis pas cochee
  • {
  • $chk1 = 'checked="checked"'; //valeur par defaut de la case afficher les produits non choisis a cochee
  • }
  • else { $chk1 = "";} //sinon valeur par defaut de la case afficher les produits non choisis a pas cochee
  • }
  • $code = " <tr ".$imp.$vu.">\n"; // generation du code du tableau de produits
  • $code .=" <td class='c1'>\n";
  • $code .=" <label>&nbsp;".$prod.": <span class='def' title='".round(($prix/1.196),2)."&euro;HT'>".$prix."&euro;<sup>TTC</sup></span></label>\n";
  • $code .=" </td>\n";
  • $code .=" <td class='c2'>\n";
  • $code .=" <input style='text-align : right;' type='text' name='".$var."' size='3' value='".$_POST[$var]."'>\n";
  • $code .=" </td>\n";
  • $code .=" <td class='c2' >\n";
  • $code .=" ".round(($prixht),2)."&euro;<sup>HT</sup> + ".$tva."&euro; de TVA\n";
  • $code .=" <br>".$note."\n";
  • $code .=" </td>\n";
  • $code .=" </tr>\n";
  • if ($_POST[$var]> "0")
  • {
  • $mail[$numprod] = $code; // inscription du code du tableau de produit dans une variable tableau
  • }
  • echo $code; // affichage du code du tableau de produits
  • }
  • $total = array_sum($total1); // Je fais le total des totaux de chaque ligne
  • $totalht = round(($total/1.196),2); // j'extrait le total global HT et j'arrondi a 2 decimales
  • $frais = round(array_sum ($frais1),2); // Je fais le total des frais de chaque ligne et j'arrondi a 2 decimales
  • $totaltva = round(($total - $totalht),2); // j'extrais la TVA et j'arrondi a 2 decimales
  • $facture = round(($total + $frais),2); // je calcule le total de la facture et j'arrondi a 2 decimales
  • if ($total == 0 ) // si la facture est d'un montant egal a 0 euro
  • {
  • $chk = 'checked="checked"'; //valeur par defaut de la case afficher les produits choisis a cochee
  • $chk1 = 'checked="checked"'; //valeur par defaut de la case afficher les produits choisis a cochee
  • $env = "style='display : none;'"; // j'interdit l'affichage des options liees a un montant
  • }
  • else { $env = ""; } // sinon je n'interdit pas l'affichage des options liees a un montant
  • $code1 = " <tr>\n"; // generation du code des tataux en bas de tableau
  • $code1 .= " <td class='c1' colspan='3'>\n";
  • $code1 .= " <br>Total ".$totalht."&euro;<sup>HT</sup>\n";
  • $code1 .= " <br>".$totaltva."&euro; de TVA\n";
  • $code1 .= " <br>".$frais."&euro; de frais de traitement\n";
  • $code1 .= " <br>Soit une facture totale de :".$facture."&euro;<sup>TTC</sup>\n";
  • $code1 .= " </td>\n";
  • $code1 .= " </tr>\n";
  • $code1 .= " </table>\n";
  • echo $code1; // affichage du code des tataux en bas de tableau
  • $headers ='From: "Devis"<VOTRE@EMAIL>'."\n"; // entete email devis
  • $headers .='Content-Type: text/html; charset="utf-8"'."\n";
  • $headers .='Content-Transfer-Encoding: 8bit';
  • $mailtot = "<h1>Vous avez re&ccedil;u une demande de devis !</h1>\n <p>"; // generation du code du mail de devis
  • $mailtot .= $_POST["message"]."\n <br> de: ".$_POST["prenom"]."&nbsp;".$_POST["nom"];
  • $mailtot .= "<br>".$_POST["email"]."</p>\n<table>".implode($mail).$code1; // implode de la variable tableau contenant le code du tableau de produits
  • if ( $_POST["envoi"] =="on" ) // si demande d'envoi de devis par mail
  • {
  • $chk2 = 'checked="checked"'; //valeur par defaut de la case afficher les produits choisis a cochee
  • $chk = 'checked="checked"'; //valeur par defaut de la case afficher les produits choisis a cochee
  • $chk1 = ''; //valeur par defaut de la case afficher les produits non choisis a pas cochee
  • $action = 'Envoyer'; // texte du bouton de soumission
  • if ($_POST["email"]<> "" && eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$",$_POST["email"]) ) // verification presence et vatidite de la saisie de l'email du client
  • {
  • mail('VOTRE@EMAIL','Demande de devis', $mailtot, $headers); //envoi du devis au gestionnaire du site
  • mail($_POST["email"],'Copie du devis soumis', $mailtot, $headers); //envoi du devis au client
  • $contfor = "<div style='display : none;'>"; //masque formulaire et autre si envoi OK
  • $contfor1 = "</div>"; //masque formulaire et autre si envoi OK
  • $_POST["envoi"] = ""; //intitialise le formulaire de contact
  • $_POST["nom"] = "";
  • $_POST["prenom"] = "";
  • $_POST["email"] = "";
  • $_POST["message"] = "";
  • $chk2 = "";
  • echo "<h2>Votre demande &agrave; bien &eacute;t&eacute; envoy&eacute;e</h2>";
  • }
  • else { echo "<h3 class='masimp' >V&eacute;rifiez la saisie de votre adresse Email.</h3>"; } //previent d'un probleme avec adresse email
  • // formulaire de contact
  • echo "<div class='masimp'>\n".$contfor."\n<label>Nom:&nbsp;<input style='text-align : left;' type='text' name='nom' size='25' value='".$_POST["nom"]."' ></label>\n";
  • echo "<br><br><label>Pr&eacute;nom:&nbsp;<input style='text-align : left;' type='text' name='prenom' size='25' value='".$_POST["prenom"]."' ></label>\n";
  • echo "<br><br><label>Email:&nbsp;<input style='text-align : left;' type='text' name='email' size='25' value='".$_POST["email"]."' ></label>\n";
  • echo "<br><br><label>Message:&nbsp;<textarea style='text-align : left;' name='message' cols='25' rows='15'>".$_POST["message"]."</textarea></label>\n".$contfor1."\n</div>\n";
  • }
  • else { $chk2 = ''; $action = 'Calculer';} // texte du bouton de soumission
  • // diverses options d'affichage
  • echo " <div class='masimp' style='width : 28em; margin-left : auto; margin-right : auto; text-align : left;' >\n\n";
  • echo " <span ".$env."><input type='checkbox' name='envoi' ".$chk2." class='button'>&nbsp;Cochez cette case puis cliquez sur&nbsp;</span>\n";
  • echo " <input type='submit' name='action' value='".$action."'>\n";
  • echo " <span ".$env.">\n";
  • echo " <br>pour demander un devis d&eacute;finitif\n";
  • echo " <br>\n";
  • echo " <br>\n";
  • echo " <script type='text/JavaScript'>\n";
  • echo " document.write('<button onClick=\'window.print();\'\>Imprimer le devis<\/button\>');\n";
  • echo " </script>\n";
  • echo " <br>\n";
  • echo " </span>\n\n";
  • echo " <br>\n";
  • echo " <input type='checkbox' name='reset' class='button'>Cochez pour vider votre panier.\n";
  • echo " <br>\n";
  • echo " <input type='checkbox' name='masq' ".$chk." class='button'>cochez pour voir les produits que vous avez choisis.\n";
  • echo " <br>\n";
  • echo " <input type='checkbox' name='masq1' ".$chk1." class='button'>Cochez pour voir les produits non choisis.\n\n";
  • echo " </div>\n";
  • echo " </form>\n";
  • ?>
  • <div class="masimp"<?php echo $env; ?>>
  • <br>
  • <br>
  • <script type="text/JavaScript">
  • document.write('<div style=\"float : right;\"\>En cliquant sur ce bouton vous lancez une impression de vos choix<br\>ET acc&eacute;dez directement &agrave; la page de paiement.<\/div\>');
  • </script>
  • <noscript><div style="float : right;">En cliquant sur ce bouton vous acc&eacute;dez directement &agrave; la page de paiement.</div></noscript>
  • <div style="float : right;" onClick="window.print();" >
  • <form target="paypal" action="https://www.paypal.com/cgi-bin/webscr" method="post">
  • <input type="image" src="URL ABSOLUE DE L'IMAGE DU BOUTON PAYPAL" name="submit" alt="PayPal - la solution de paiement en ligne la plus simple et la plus sécurisée !">
  • <img alt="" border="0" src="https://www.paypal.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
  • <input type="hidden" name="upload" value="1">
  • <input type="hidden" name="cmd" value="_cart">
  • <input type="hidden" name="business" value="VOTRE CODE DE PARAINAGE OU VOTRE EMAIL IDENTIFIANT PAYPAL">
  • <?php
  • for($bouc=1; $bouc<=$numprod; $bouc++) // creation d'une boucle reiteree autant de fois q'un produit a ete choisi
  • {
  • echo '<input type="hidden" name="item_name_'.($bouc).'" value="'.$prod1[$bouc].'">'."\n"; // transmition de la designation des produits
  • echo '<input type="hidden" name="quantity_'.($bouc).'" value="'.$quant[$bouc].'">'."\n"; // transmition de la quantite des produits
  • echo '<input type="hidden" name="amount_'.($bouc).'" value="'.$prix1[$bouc].'">'."\n"; // transmition du prix des produits
  • }
  • ?>
  • <input type="hidden" name="handling_1" value="<?php echo $frais; // transmition des frais de traitement livraison globaux ?>">
  • <input type="hidden" name="logo_custom" value="URL ABSOLUE DE L'IMAGE DU BOUTON PAYPAL">
  • <input type="hidden" name="no_note" value="1">
  • <input type="hidden" name="currency_code" value="EUR">
  • <input type="hidden" name="lc" value="FR">
  • <input type="hidden" name="bn" value="PP-ShopCartBF">
  • </form>
  • </div>
  • </div>
<!-- 
contenu du ficher de connexion db
<?php //$connexion = mysql_connect('adresse serveur mysql','utilisateur','mot de passe') OR die(mysql_error());;
//mysql_select_db('nom de la base de donnees',$connexion);
?>
-->

<!-- 
La creation et le remplissage des tables de la db ne sont pas gere ici
vous devez le faire manuellement
Le code du bouton d'envoi a PayPal provient du site PayPal, j'ai juste ajoute la boucle PHP pour gerer le multi produits
-->






<form method="post" name="facture" action="<?php echo $PHP_SELF."#bouton"; ?>">
			<input type='submit' name='action' value='Calculer'>
			<table class="t1" summary="Formulaire devis facture">
				<tr>
					<td class="c4" style="width : 50%;" >Type de prestation</td>
					<td class="c4" style="width : 17%;" >Quantités</td>
					<td class="c4" style="width : 33%;" >Total ligne</td>
				</tr>

					<!-- debut script php -->
					<?php
					  echo "\n\n\n\n\n\n<!--\n
					  #############################################################################################\n
					  # script de panier PayPal avec stockage des produits mysql et envoi du detail au panier PayPal\n
					  # gestion des frais de traitement livraison\n
					  # demande de devis possible avec envoi par mail au demandeur et au gestionaire du site\n
					  #############################################################################################\n\n
					  #############################################################################################\n
					  # Ce script a ete developpe par 2AIDE, vous vous sera fourni gratuitement sur simple demande depuis le site http://www.2aide.fr/\n
					  # Aucun support supplementaire ne vous sera propose gratuitement\n
					  # Vous pouvez malgre tout solliciter une aide dans le cadre des prestations proposees sur le site http://www.2aide.fr/\n
					  # Bien qu'il en soit maintenant tres eloigne ce script a ete inspire, au depart par un formulaire de contact propose gratuitement lui aussi.\n
					  # 2aide remercie donc http://www.patrickhamy.net/ auteur de ce formulaire de contact\n
					  #############################################################################################\n\n
					  #############################################################################################\n
					  # A vous de voir pour les css\n
					  # Je precise juste que la classe masimp est declaree dans une feuille de style dediee a l'impression: media=print\n
					  # Si vous utilisez ce code merci de laisser ces remarques\n
					  #############################################################################################\n
					  --> \n\n\n\n\n ";
					  
						include ('FICHIER DE CONNEXION DB');
						$produit = 'SELECT * FROM `produits` WHERE vente = 1 ORDER BY cat, id';
						$liste = mysql_query( $produit,$connexion );

						$trans = array ( "&egrave;" => "e", "&eacute;" => "e", "&agrave;" => "a", "&ecirc;" => "e", "&frac12;" => "1/2", "&ocirc;" => "o", "&ccedil;" => "c", "&Egrave;" => "E", "&Eacute;" => "E", "&Agrave;" => "A", "&Ecirc;" => "E", "&Ocirc;" => "O", "&Ccedil;" => "C"); //suppression des accents pour formulaire transmit a PayPal car probleme avec codage des caracteres
						$tota1 = array(0);
						$frais1 = array(0);
						$prod1 = array(0);
						$prix1 = array(0);
						$quant = array(0);
						$mail = array(0);
						$numprod = 0;
						$i = 0;
						if (isset($_POST[$var])) $_POST[$var]="0";
						while ($tablo = mysql_fetch_array($liste)) 
						{
							if (!isset($_POST[$var])) $_POST[$var]="0";
							$i++; //Incrementee a chaques tour de boucle WHILE
							$var = 'var'.$i; //Construction des variables POST du formulaire

							if ( $_POST["reset"] =="on" ) // reset des variables formulaires
							{
							  $_POST[$var]= "0";
							  $_POST['nom']= "0";
							  $_POST['prenom']= "0";
							  $_POST['message']= "0";
							  $_POST['email']= "0";
							  $_POST["envoi"] ="";
							} //Vide tous les champs du formulaire

							if ($_POST[$var]> "0") // si nombre d'articles commande superieurs a 0 pour une ligne
							{ 
							  $numprod++; // compte le nombre d'articles selectionnes
							} // Creation de la variable de generation item pour les variables produits du bouton PayPal

							$prod  = $tablo['designation']; // designation des articles
							$prodnohtm = strip_tags($prod); // supression des balises html dans designation des articles
							$proddec = html_entity_decode($prodnohtm, null, 'UTF-8'); // remplacement des entites html par le caractere accentue
							$prodno = strtr($prodnohtm, $trans); // remplacement des caracteres accentues par le caractere normal le plus proche ( supression des accents) pour formulaire transmit a PayPal							
							$prix = $tablo['prix']; // designation des articles

							if ($_POST[$var]> "0") // nombre d'articles commande superieurs a 0 pour une ligne 
							{ 
							  $prod1[$numprod] = $prodno; //inscrit tous les produits selectionnes dans une variable tableau
							  $quant[$numprod] = $_POST[$var]; //inscrit toutes les quantites produits selectionnes dans une variable tableau
							  $prix1[$numprod] = $prix; //inscrit tout les prix produits selectionnes dans une variable tableau
							}

							$trait = $tablo['traitement']; //variable frais de livraison-traitement oui ou non
							
							if ($prix<>0) //verifie qu'un prix ne soit pas egal a 0
							{
							  $prixht = ($prix/1.196)*$_POST[$var]; //calcule le prix ht a partir du ttc
							}

							$tva = round(($prixht*0.196),2); //calcule le montant de la TVA
							$type = $tablo['type']; //affectation du produit creation web ou depannage

							$total1[$i] = $prix*$_POST[$var]; //inscrit le prix total de chaque ligne dans une variable tableau

							if ($trait==1 && $prix*$_POST[$var]<>0) //si frais de livraison-traitement oui et nombre de produits x par prix >0
							{
							  $fraisunit = ((($prix*$_POST[$var])/100)*3.4)+0.25; //calcule les frais de traitement
							}
							else {$fraisunit = 0;} //si pas de frais de traitement la variable est egale a 0

							$frais1[$i] = $fraisunit; //inscrit les frais de traitement de chaque ligne dans une variable tableau

							if ( $trait == 1) //si frais de traitement oui
							{
							  $note = "+ frais de traitement"; //texte affiche pour frais de traitement oui
							} 
							else { $note = "pas de frais de traitement";} //texte affiche pour frais de traitement non

							if ($_POST[$var] > 0) // si nombre de produits >0
							{ 
							  $imp = ""; // autorisation d'impression de la ligne
							}
							else { $imp = "class='masimp' ";} // interdiction d'impression de la ligne

							if ( $_POST["reset"] =="on" ) // si demande remise a 0 du formulaire
							{
							  $chk = 'checked="checked"'; // je force la case afficher les produits choisis a cochee
							  $chk1 = 'checked="checked"'; // je force la case afficher les produits non choisis a cochee
							  $vu = ""; //je ne cache aucune ligne
							}
							else //pas de demande de remise a 0 du formulaire
							{
								if ($_POST[$var] > 0 AND $_POST["masq"] !="on" AND $_POST["envoi"] !="on" ) //si nombre de produit > 0 ET case afficher les produits choisis pas cochee ET case envoyer demande de devis cochee
								{
								  $vu = 'style="display : none;"'; //je n'affiche pas la ligne
								}
								
								if ($_POST[$var] > 0 AND $_POST["masq"] =="on" ) //si nombre de produit > 0 ET case afficher les produits choisis cochee
								{
								  $vu = ""; //j'affiche la ligne
								}

								if ($_POST[$var] == 0 AND ($_POST["masq1"] !="on" OR $_POST["envoi"] =="on") ) //si nombre de produit = 0 ET case afficher les produits non choisis pas cochee ou case envoyer demande de devis cochee
								{
								  $vu = 'style="display : none;"'; //je n'affiche pas la ligne
								}

								if ($_POST[$var] == 0 AND ($_POST["masq1"] =="on"  AND $_POST["envoi"] !="on")) //si nombre de produit = 0 ET case afficher les produits non choisis cochee et case envoyer demande de devis pas cochee
								{
								  $vu = ""; //j'affiche la ligne
								}

								 if ($_POST["masq1"] !="on" AND $_POST["masq"] !="on" ) //si les cases afficher produits choisis et non choisis sont cochees
								{
								  $vu = ""; //j'affiche la ligne
								}

								if ( $_POST["masq"] =="on" OR $_POST["envoi"] =="on" ) //si case afficher les produits choisis cochee OU case envoyer demande de devis cochee
								{
								  $chk = 'checked="checked"'; //valeur par defaut de la case afficher les produits choisis a cochee
								}
								else { $chk = "";} //sinon valeur par defaut de la case afficher les produits choisis a pas cochee
								
								if ( $_POST["masq1"] =="on" AND $_POST["envoi"] !="on" ) //si case afficher les produits non choisis cochee ET case envoyer demande de devis pas cochee
								{
								  $chk1 = 'checked="checked"'; //valeur par defaut de la case afficher les produits non choisis a cochee
								}
								else { $chk1 = "";} //sinon valeur par defaut de la case afficher les produits non choisis a pas cochee
							}

							$code = "				<tr ".$imp.$vu.">\n"; // generation du code du tableau de produits
							    $code .="					<td class='c1'>\n";
								$code .="					  <label>&nbsp;".$prod.": <span class='def' title='".round(($prix/1.196),2)."&euro;HT'>".$prix."&euro;<sup>TTC</sup></span></label>\n";
								$code .="					</td>\n";
								$code .="					<td class='c2'>\n";
								$code .="					  <input style='text-align : right;' type='text' name='".$var."' size='3' value='".$_POST[$var]."'>\n";
								$code .="					</td>\n";
								$code .="					<td class='c2' >\n";
								$code .="					  ".round(($prixht),2)."&euro;<sup>HT</sup> + ".$tva."&euro; de TVA\n";
								$code .="					  <br>".$note."\n";
								$code .="					</td>\n";
								$code .="				</tr>\n";

							if ($_POST[$var]> "0")
							{
							  $mail[$numprod] = $code; // inscription du code du tableau de produit dans une variable tableau
							}

							echo $code; // affichage  du code du tableau de produits
						}

						$total = array_sum($total1); // Je fais le total des totaux de chaque ligne
						$totalht = round(($total/1.196),2); // j'extrait le total global HT et j'arrondi a 2 decimales
						$frais = round(array_sum ($frais1),2); // Je fais le total des frais de chaque ligne et j'arrondi a 2 decimales
						$totaltva = round(($total - $totalht),2); // j'extrais la TVA et j'arrondi a 2 decimales
						$facture = round(($total + $frais),2); // je calcule le total de la facture et j'arrondi a 2 decimales

						if ($total == 0 ) // si la facture est d'un montant egal a 0 euro
						{ 
						  $chk = 'checked="checked"'; //valeur par defaut de la case afficher les produits choisis a cochee
						  $chk1 = 'checked="checked"'; //valeur par defaut de la case afficher les produits choisis a cochee 
						  $env = "style='display : none;'"; // j'interdit l'affichage des options liees a un montant
						}
						else { $env = ""; } // sinon je n'interdit pas l'affichage des options liees a un montant

						$code1 = "				<tr>\n"; // generation du code des tataux en bas de tableau
							$code1 .= "					<td class='c1' colspan='3'>\n";
							$code1 .= "					  <br>Total ".$totalht."&euro;<sup>HT</sup>\n";
							$code1 .= "					  <br>".$totaltva."&euro; de TVA\n";
							$code1 .= "					  <br>".$frais."&euro; de frais de traitement\n";
							$code1 .= "					  <br>Soit une facture totale de :".$facture."&euro;<sup>TTC</sup>\n";
							$code1 .= "					</td>\n";
							$code1 .= "				</tr>\n";
							$code1 .= "			</table>\n";

						echo $code1;  // affichage du code des tataux en bas de tableau

						$headers ='From: "Devis"<VOTRE@EMAIL>'."\n"; // entete email devis
							$headers .='Content-Type: text/html; charset="utf-8"'."\n";
							$headers .='Content-Transfer-Encoding: 8bit';

						$mailtot = "<h1>Vous avez re&ccedil;u une demande de devis !</h1>\n <p>"; // generation du code du mail de devis
							$mailtot .= $_POST["message"]."\n <br> de: ".$_POST["prenom"]."&nbsp;".$_POST["nom"];
							$mailtot .= "<br>".$_POST["email"]."</p>\n<table>".implode($mail).$code1; // implode de la variable tableau contenant le code du tableau de produits

						if ( $_POST["envoi"] =="on" ) // si demande d'envoi de devis par mail
						{
						  $chk2 = 'checked="checked"';	//valeur par defaut de la case afficher les produits choisis a cochee
						  $chk = 'checked="checked"';	//valeur par defaut de la case afficher les produits choisis a cochee
						  $chk1 = '';					//valeur par defaut de la case afficher les produits non choisis a pas cochee
						  $action = 'Envoyer'; // texte du bouton de soumission

							if ($_POST["email"]<> "" && eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$",$_POST["email"]) ) // verification presence et vatidite de la saisie de l'email du client
							{ 
							  mail('VOTRE@EMAIL','Demande de devis', $mailtot, $headers); //envoi du devis au gestionnaire du site
							  mail($_POST["email"],'Copie du devis soumis', $mailtot, $headers); //envoi du devis au client
							  $contfor = "<div style='display : none;'>"; //masque formulaire et autre si envoi OK
							  $contfor1 = "</div>";	//masque formulaire et autre si envoi OK
							  $_POST["envoi"] = ""; //intitialise le formulaire de contact
							  $_POST["nom"] = "";
							  $_POST["prenom"] = "";
							  $_POST["email"] = "";
							  $_POST["message"] = "";
							  $chk2 = "";
							  echo "<h2>Votre demande &agrave; bien &eacute;t&eacute; envoy&eacute;e</h2>";
							}
							else { echo "<h3 class='masimp' >V&eacute;rifiez la saisie de votre adresse Email.</h3>"; }	//previent d'un probleme avec adresse email
							// formulaire de contact
							echo "<div class='masimp'>\n".$contfor."\n<label>Nom:&nbsp;<input style='text-align : left;' type='text' name='nom' size='25' value='".$_POST["nom"]."' ></label>\n";
							echo "<br><br><label>Pr&eacute;nom:&nbsp;<input style='text-align : left;' type='text' name='prenom' size='25' value='".$_POST["prenom"]."' ></label>\n";
							echo "<br><br><label>Email:&nbsp;<input style='text-align : left;' type='text' name='email' size='25' value='".$_POST["email"]."' ></label>\n";
							echo "<br><br><label>Message:&nbsp;<textarea style='text-align : left;' name='message' cols='25' rows='15'>".$_POST["message"]."</textarea></label>\n".$contfor1."\n</div>\n";
						}
						else { $chk2 = ''; $action = 'Calculer';}	// texte du bouton de soumission
						// diverses options d'affichage
 						echo "			<div class='masimp' style='width : 28em; margin-left : auto; margin-right : auto; text-align : left;' >\n\n";
						echo "     	 	  <span ".$env."><input type='checkbox' name='envoi' ".$chk2." class='button'>&nbsp;Cochez cette case puis cliquez sur&nbsp;</span>\n";
						echo "			  <input type='submit' name='action' value='".$action."'>\n";
						echo "				<span ".$env.">\n";
						echo "				  <br>pour demander un devis d&eacute;finitif\n";
						echo "				  <br>\n";
						echo "				  <br>\n";
						echo "					<script type='text/JavaScript'>\n";
						echo "					  document.write('<button onClick=\'window.print();\'\>Imprimer le devis<\/button\>');\n";
						echo "					</script>\n";
						echo "				  <br>\n";
						echo "				</span>\n\n";
						echo "				  <br>\n";
						echo "				  <input type='checkbox' name='reset' class='button'>Cochez pour vider votre panier.\n";
						echo "				  <br>\n";
						echo "				  <input type='checkbox' name='masq' ".$chk." class='button'>cochez pour voir les produits que vous avez choisis.\n";
						echo "				  <br>\n";
						echo "				  <input type='checkbox' name='masq1' ".$chk1." class='button'>Cochez pour voir les produits non choisis.\n\n";
						echo "			</div>\n";
						echo "		 </form>\n";
					?>

			<div class="masimp"<?php echo $env; ?>>
			  <br>
			  <br>
			  <script type="text/JavaScript">
			  document.write('<div style=\"float : right;\"\>En cliquant sur ce bouton vous lancez une impression de vos choix<br\>ET acc&eacute;dez directement &agrave; la page de paiement.<\/div\>');
			  </script>
			  <noscript><div style="float : right;">En cliquant sur ce bouton vous acc&eacute;dez directement &agrave; la page de paiement.</div></noscript>
				<div style="float : right;" onClick="window.print();" >
					<form target="paypal" action="https://www.paypal.com/cgi-bin/webscr" method="post">
					  <input type="image" src="URL ABSOLUE DE L'IMAGE DU BOUTON PAYPAL" name="submit" alt="PayPal - la solution de paiement en ligne la plus simple et la plus sécurisée !">
					  <img alt="" border="0" src="https://www.paypal.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
					  <input type="hidden" name="upload" value="1">
					  <input type="hidden" name="cmd" value="_cart">
					  <input type="hidden" name="business" value="VOTRE CODE DE PARAINAGE OU VOTRE EMAIL IDENTIFIANT PAYPAL">
						<?php
							for($bouc=1; $bouc<=$numprod; $bouc++) // creation d'une boucle reiteree autant de fois q'un produit a ete choisi
							{
							  echo '<input type="hidden" name="item_name_'.($bouc).'" value="'.$prod1[$bouc].'">'."\n"; // transmition de la designation des produits
							  echo '<input type="hidden" name="quantity_'.($bouc).'" value="'.$quant[$bouc].'">'."\n";  // transmition de la quantite des produits
							  echo '<input type="hidden" name="amount_'.($bouc).'" value="'.$prix1[$bouc].'">'."\n";	// transmition du prix des produits
							}
						?>

					  <input type="hidden" name="handling_1" value="<?php echo $frais; // transmition des frais de traitement livraison globaux ?>">
					  <input type="hidden" name="logo_custom" value="URL ABSOLUE DE L'IMAGE DU BOUTON PAYPAL">
					  <input type="hidden" name="no_note" value="1">
					  <input type="hidden" name="currency_code" value="EUR">
					  <input type="hidden" name="lc" value="FR">
					  <input type="hidden" name="bn" value="PP-ShopCartBF">
					</form>
				</div>
			</div>

 Conclusion

Bon, c'est mon premier code ici, ça fait un mois que je m'essaie au PHP, et quelques années que je pique sournoisement des bouts de codes ici.
Alors si ce petit truc maladroit pouvait être utile à quelqu'un ce serait un juste retour.
Comme je l'ai dit je suis Newbie alors les critiques seront les bien venues.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

25 juin 2008 23:23:05 :
"une fote d'ortaugrafe". ça m'étonnerai qu'il n'y en ai pas d'autres !!!
26 juin 2008 23:00:59 :
Ajout d'un capture Phpmyadmin pour la structure de la table. J'ai pas précisé mais ce code est à intégrer dans une de vos pages, il lui manque, au moins, le <head> et les balises <body>.
02 juillet 2008 20:48:27 :
Ajout de la structure de la base de données (fichier sql)
02 juillet 2008 22:01:43 :
Capture du formulaire 1
02 juillet 2008 22:02:38 :
capture 2
02 juillet 2008 22:03:18 :
capture 3
02 juillet 2008 22:04:18 :
capture 4
02 juillet 2008 22:07:01 :
correction captures
02 juillet 2008 22:12:31 :
Correction captures + ajout de captures dans le zip

 Sources du même auteur

Source avec Zip FORMULAIRE DE CONTACT CAPCHA OBJET A RECONNAITRE ALTERNATIVE...

 Sources de la même categorie

Source avec Zip PAYPAL CMS V1 par mkfreedown
Source avec une capture PHPDEAL APPLICATION DE GESTION D'ENCHÈRES ON-LINE. par Racemul84
Source avec Zip Source avec une capture PANEL PHP/AJAX par mehdi7604
Source avec Zip Source avec une capture FACTURATION EN PHP par liptibilly
Source avec Zip Source avec une capture GIVE ONE. GET TWO. LOGICIEL DE TRADING LIBRE GAGNANT GAGNANT... par Gya

 Sources en rapport avec celle ci

BOUTON POUR SITE WEB PAYMENT par Tom56340
Source avec Zip ACCEPTER ET GÉRER LES PAIEMENTS VIA PAYPAL par jmobylette

Commentaires et avis

Commentaire de Naomy le 26/06/2008 19:46:50

salut Tom_Crazy
peux-tu fournir la structure de la db?
merci

Commentaire de Tom_Crazy le 26/06/2008 23:09:28

J'ai mis une capture de la structure de la table si tu as d'autres questions Naomy, n'hésite pas.

Commentaire de chahrah le 30/06/2008 23:15:30

bonjour
Je suis débutante  en tous  j'ai reçu la newslletter de code source   et je suis tombé sur votre programme SOS svp.
Pour le PHP j'ai le Dreamweaver  es que   ton  programme se exécute avec lui  et comment je peux faire ca.
Merci  

Commentaire de Tom_Crazy le 01/07/2008 00:13:59

Bonsoir Chahrah
Ou là non, ça ne "s'exécute" pas tout seul !!!
En fait c'est juste un bout de code à intégrer dans une page et il faut créer la table mysql manuellement.
Dreamweaver, je ne l'ai jamais utilisé, je préfère coder à la main (j'utilise notepad++ )au moins on voit se que l'on fait.
Ta question laisse entendre que tu es vraiment débutante et ça me parait difficile de te guider ici en quelques mots.
Si jamais tu peux me contacter par mp.

Commentaire de masternico le 02/07/2008 12:02:22

salut Tom_crazy.
je ne suis pas sûr d'avoir compris a remarque sur la structure de la base... tu dis qu'il faut se reporter à la capture d'écran fournie, mais si je la regarde, je n'y vois que la structure d'une seule table... or je ne vois pas comment tu peux faire tourner ton aplis avec une seule table. Donc je pense que ta capture n'est pas représentative de ta structure. Il faudrait que tu joingnes à ton source un fichier '.sql' avec les commandes mysql pour créer la base. un tel fichier ne se fait pas à la main. Il faut demander à phpmyadmin d'exporter la base et de mettre tout ça dans un fichier.

Commentaire de masternico le 02/07/2008 15:34:45

mais heu... en fait... c'est plus un tuto sur comment utiliser un panier paypal qu'autre chose?

Commentaire de Tom_Crazy le 02/07/2008 20:44:45

Salut Masternico,

Bon s'ajoute tout de suite le fichier SQL, un plugin de téléchargement de firefox me refusait cette manip, je ne sais pas pourquoi Downthemall me retournait un fichier php au lieu du .sql.

Après ça marche bien avec une seule table.

La table contient un "catalogue" de produits, leur prix (en ttc car c'était plus pratique pour moi), si je veux répercuter ou non les frais de traitement de PayPal (0 pour non 1 pour oui) et la catégorie du produit qui ne sert ici qu'au regroupement des lignes du tableau.

J'ai ajouté un champ observations parce que j'utilise la même table pour afficher/imprimer un tarif depuis une autre page et un champ vente (0 pour non 1 pour oui) pour ignorer certains produits dans le formulaire destiné à PayPal.

Donc en arrivant sur le formulaire on a un tableau dans lequel figurent tous les produits du "catalogue" (hors vente=0), on indique la quantité que l'on veut pour chaque référence achetée.

On clique sur calculer pour obtenir le résultat (prix ht, TVA, frais de traitement et total de la facture).

En cochant une case on peut masquer tous les produits non choisis ou avec une autre case tous les produits choisis (c'est juste visuel pour vérifier ou compléter la commande).

Si il y a au moins un produit choisi on peut imprimer la page ou envoyer sa demande de devis personnalisée par mail, un formulaire de contact apparait alors pour préciser sa demande.
Une fois renseigné on envoi le tableau des produits choisis (avec le calcul) accompagné du message à l'adresse du marchand, on reçoit aussi une copie.

On peut aussi payer directement par PayPal.
Le bouton Paypal transmet le tableau des produits choisis leurs quantité et les frais de traitement globaux.

Le script ne se contente pas de passer un montant total, il retourne une ligne par produit et calcule le montant de chaque ligne (prix unit X quantité).
On obtient donc une ligne détaillée par produit directement dans le formulaire de paiement de PayPal.

Il gère aussi des produits soumis à des frais de traitement/livraison et d'autres qui ne le sont pas.

En fait j'ai codé ça au départ pour générer des devis estimatifs en ligne, mais j'ai une activité à domicile et j'ai déjà eu des clients qui, une fois terminé, me disaient qu'ils n'avaient qu'une carte bleue.
Donc cette page me permet simplement d'accepter un autre moyen de paiement, il ne s'agit donc pas, dans mon cas, de réelle vente en ligne.
Mais je pense que ce système permet la réalisation d'une petite boutique.

Effectivement aujourd'hui, ce script ne garde pas de trace de la transaction, ça c'est Paypal qui s'en charge.Je pense modifier ça aussi.

Je vais utiliser cette base pour créer une petite application de Devis / Facture avec gestion clients.
Bon on en est encore loin mais je posterai ici quand j'aurai fini.

Petite astuce avec Paypal, le code du bouton généré sur leur site contient notre adresse email en clair, ce qui est fâcheux.
Alors à cette adresse: http://www.paypalblog.info/article-4116254-6.html
On nous explique que l'on peut remplacer l'adresse email par le code de parrainage (voir l'article)

Commentaire de masternico le 02/07/2008 23:23:56

Une mini boutique sur une table... mhhhh... disons qu'en l'état, il n'est possible de faire un suivit ni de commande, ni de clientelle ni de facturation...

Il te reste encore beaucoup de chemin à faire avant de pouvoir appeler ça une boutique (même mini). Ton code dans l'état ne sert à rien pour quelqu'un qui chercherait un snippet puisqu'il lui faut tout faire...

Ton code me fait penser à windows vista (si si), l'idée est bonne, mais la réalisation innachevée par précipitation...

Il vaux mieux que tu prennes ton temps pour faire une analyse complète de ta boutique, que tu révise la structure de ta base de données en y ajoutant toutes les tables clients, factures, fournisseur, paiement, devis, prospect (inspire toi d'un logiciel de compta tel EBP ou Ciel).

Etant un novice dans le domaine, je ne pense pas que tu y ariveras du premier coup, mais tu semble aimer la méthode empirique, donc tu finira bien par trouver la solution.

Une astuce qui pourrait de faciliter la tâche en base de données, c'est la mise en place des relations de tables:
prenons une table article telle que tu l'as faite. Prenons ensuite une table client dont je te laisse définir les champs. Enfin, prenons une table facture dont tu définiras aussi les champs. Il faut que tu définisse le mécanisme qui va relier ces trois tables, à savoir:
à chaque facture correspond une liste d'articles et à chaque client correspond une liste de facture. L'annalyse du problème donnera celà:

articles       articles2factures       factures      factures2clients        clients
id_article --->id_article          |-->id_facture -->id_facture        |---->id_client
               id_facture ---------|                 id_client --------|

Entre chaque table, tu dois utiliser une table intermédiaire qui va lier les deux exrémités.
Du coup, pour rechercher la liste des clients qui ont acheté un article en particulier la requette est:

SELECT STRAIGHT_JOIN clients.id_client FROM clients,factures2clients,articles2factures,articles WHERE articles.id_article = '12345' AND articles2factures.id_article = articles.id_article AND articles2factures.id_facture = factures2clients.id_facture AND factures2clients.id_client = clients.id_client GROUP BY clients.id_client

Voila... bonne route...

Commentaire de Tom_Crazy le 03/07/2008 01:06:39

Merci Masternico

Je suis justement en train de plancher sur un système de devis, je partais sur une table produit (celle qui existe) une table clients, une table devis qui recevra les devis et la dernière qui relie toutes les lignes d'un devis à un client et une date grâce à un n° de devis.
Après je verrai pour la transformation en facture et tout le reste.
Je suis un peu allergique aux soft type ciel ou EBP et étant itinérant si j'arrive à ce que je veux je pourrais faire des devis facture (et plus) depuis n'importe où voire même depuis une clef usb avec un truc du genre zazouminiserveur.

Ta remarque sur SELECT STRAIGHT_JOIN va m'économiser quelques heures de recherche.

J'ai qualifié ce script de "mini boutique" parce qu'il permet de sélectionner les produits dans une liste, de spécifier les quantités et de transmettre le détail de tout ça à Paypal.

Le suivit des transactions est donc tout à fait possible en l'état grâce aux outils de reporting de Paypal, en effet tout est transmit, le client et le vendeur reçoivent un email détaillé et les coordonnées de l'acheteur ainsi que le contenu du panier.
Le tout restant stockés dans l'historique du compte et téléchargeables au format cvs.

Commentaire de masternico le 03/07/2008 09:16:23

Tu as raison, EBP ou Ciel sont des logiciels très fermés et difficiles à prendre en main, mais par contre, celà fait tellement d'années qu'il sont sur le marché que le principe est bien rodé. Il suffit juste de prendre ce qui t'interesse et tu laisse le reste.

Pour ce qui est de ta table devis, tu peux effectivement partir comme çà, sachant qu'une facture n'est autre qu'un devis qui a abouti. Donc pense déja à mettre un champ 'type' (enum('0','1'))dans ta table devis qui te permettra de savoir si c'est un devis ou une facture. Comme ça, tu l'enregistre comme devis et quand tu le valides (l'intervention est faite), tu change le type et ton devis devient une facture.

Pour le STRAIGHT_JOIN, c'est hyper important, car sans cette instruction, ton moteur se perd dans ses condition et tu peux te retrouvé confronté à des erreurs de temps de requette. Car à straight_join, tu force mysql à suivre ton fil de liaison, tu gagnes un temp monstre et tu allège ton serveur (surtout si tu est sur un mutualisé... ça évite de planter les autres site... lol)

Bon allez, au boulot maintenant...

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Ajouté un info dans un lien pour soumission [ par pyranhaz ] J'ai plusieurs liens étant chacun un produit distinct de consommation.Chaque produit peut être livré:1. par téléchargement ICQ ou MSN = $0.002. par la Popup qui enlève la barre d'URL [ par pyranhaz ] J'essai de faire fonctionner le popup dans un script php et je n'y arrive pas, j'ai toujours une erreur parse que je n'arrive pas à trouver... :-(voic Paypal / Cyber Mut / e-Transactions [ par fguilbert ] Bonjour,Je dois installer des paiements Paypal / cybermut / et e-transactions (credit agricole) sur plusieurs de mes sites hébergés sur un serveur déd Payement PayPal via compte bancaire [ par wizard512 ] Bonjours je souhaiterais savoir si vous n'aurez pas un lien oû je pourrais trouver le code source suivant.......une page html pouvant me permettre de Paypal -_- [ par Sniperman113 ] Bonjour tout le monde !Je viens de nouveau sur ce forum pour vous demander de l'aide avant que je fasse usage de ma corde et de mon tabouret :)J'ai ma Paypal + Panier d'achat + Session client ... [ par yank76 ] Salut à tous, Je vais essayer de vous expliquer rapidement mon problème ... Je dois faire un site avec exactement les mêmes fonctions que celui la Modifier base de donnée après achat via Paypal [ par bobatheboss ] Messieurs dames bonjour,je vous écrit car j'ai un soucis !J'ai codé un un petit site de vente d'objets uniques, qui utilise le panier Paypal.Tout fonc Protection de formulaire avec paypal [ par bricethenetman ] Bonjour, j'aimerais protéger une page de formulaire de facon identique à celle utilisée par les systeme audiotel mais uniquement avec paypal... Quelqu Joomla et paypal [ par alibi_wafa ] Salut, je développe un site web avec le CMS joomla 1.0.15, je veux intégrer le module paypal mais je ne sais pas comment?


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,406 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales