MINI BOUTIQUE EN LIGNE ET DEVIS PAR MAIL TRANSMISSION INDIVIDUELLE DES ARTICLES

cs_Naomy Messages postés 5 Date d'inscription lundi 16 juin 2008 Statut Membre Dernière intervention 26 juin 2008 - 26 juin 2008 à 19:46
 dieye18safar - 9 juin 2014 à 00:32
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/47116-mini-boutique-en-ligne-et-devis-par-mail-transmission-individuelle-des-articles-dans-un-panier-paypal

dieye18safar
9 juin 2014 à 00:32
nice pour un un futur developpeur et du courage pour le reste et le meilleur reste a venir
masternico Messages postés 487 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 1 septembre 2011
3 juil. 2008 à 09:16
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...
Tom_Crazy Messages postés 7 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 27 juin 2008
3 juil. 2008 à 01:06
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.
masternico Messages postés 487 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 1 septembre 2011
2 juil. 2008 à 23:23
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...
Tom_Crazy Messages postés 7 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 27 juin 2008
2 juil. 2008 à 20:44
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)
masternico Messages postés 487 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 1 septembre 2011
2 juil. 2008 à 15:34
mais heu... en fait... c'est plus un tuto sur comment utiliser un panier paypal qu'autre chose?
masternico Messages postés 487 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 1 septembre 2011
2 juil. 2008 à 12:02
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.
Tom_Crazy Messages postés 7 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 27 juin 2008
1 juil. 2008 à 00:13
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.
chahrah Messages postés 23 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 4 mars 2010
30 juin 2008 à 23:15
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
Tom_Crazy Messages postés 7 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 27 juin 2008
26 juin 2008 à 23:09
J'ai mis une capture de la structure de la table si tu as d'autres questions Naomy, n'hésite pas.
cs_Naomy Messages postés 5 Date d'inscription lundi 16 juin 2008 Statut Membre Dernière intervention 26 juin 2008
26 juin 2008 à 19:46
salut Tom_Crazy
peux-tu fournir la structure de la db?
merci
Rejoignez-nous