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

Signaler
Messages postés
5
Date d'inscription
lundi 16 juin 2008
Statut
Membre
Dernière intervention
26 juin 2008
-
 dieye18safar -
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


nice pour un un futur developpeur et du courage pour le reste et le meilleur reste a venir
masternico
Messages postés
494
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
1 septembre 2011

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

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
494
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
1 septembre 2011

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...