IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Panoplie de produits dans panier - calcul de reduc


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 97
    Points : 49
    Points
    49
    Par défaut Panoplie de produits dans panier - calcul de reduc
    Bonjour à tous,

    Je sollicite votre aide car je suis complètement perdue.

    Dans ma e-boutique j'aimerais que les clients puissent sélectionner des panoplies de produits. Une panoplie dans le panier se traduit par autant de lignes qu'il y a de produits dans la panoplie.
    Jusque là tout va bien.

    J'aimerais qu'une réduction s'applique automatiquement dès que tous les produits qui composent une panoplie se trouvent dans le panier.

    J'ai pensé faire quelque chose comme ça pour identifier les produits qui font partie d'une panoplie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    mysql_select_db($database_xxx, $xxx);
    $query_panoplie = sprintf("SELECT panier.produit, panoplie.* 
    FROM panoplie INNER JOIN panier ON  panier.produit = panoplie.id_prdt1 
    OR panier.produit = panoplie.id_prdt2
    OR panier.produit = panoplie.id_prdt3
    GROUP BY panoplie.id");
    $panoplie = mysql_query($query_panier, $xxx) or die(mysql_error());
    $row_panoplie = mysql_fetch_assoc($panier);
    $totalRows_panoplie = mysql_num_rows($panier);
    Est-ce que quelqu'un peut me dire si je suis sur la bonne voie ? Evidemment je serait heureuse d'avoir vos conseils.

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 730
    Points : 5 391
    Points
    5 391
    Par défaut
    Ote moi un doute : j'espère que tu n'a pas mis id_prdt1 à 3 parce que ta panoplie contient 3 produits !

    Si c'est le cas je te conseille d'oublier ça et de créer une table intermédiaire genre ligne_panoplie. Déjà tu ne sera plus limitée à trois produit et ce sera beaucoup plus simple au niveau requêtage.

    Petite remarque en plus, je préfère utiliser les LEFT JOIN c'est moins lourd en termes de mémoire utilisée et en terme de temps de traitement.

    Je remarque également que tu n'a pas de clause where. Là tu vas ramener tous les enregistrement pour tester si un seul produit fait partie d'une panoplie !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 97
    Points : 49
    Points
    49
    Par défaut
    Merci pour ta réponse.

    Dsl je suis débutante...

    A priori mon idée n'est pas bonne. Est-ce que quelqu'un aurait une piste ou un point de départ pour m'aider à me lancer ?

  4. #4
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 730
    Points : 5 391
    Points
    5 391
    Par défaut
    En fait l'idée est d'avoir 3 tables
    - TProduit contenant tes produits
    - TPanoplie contenant tes panoplies
    - TLigne pour faire le lien entre les produits et les panoplies.

    Juste une ébauche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    TProduit(CodeProduit,LibelleProduit,PrixProduit,....)
    TPanoplie(CodePanoplie,LibellePanoplie,...)
    TLigne(#CodePanoplie,#CodeProduit,Qte,...)
    Ensuite pour tester l'existance d'un produit dans une panoplie il suffit de tester son existance dans la table TLigne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT TOP 1 CodePanoplie FROM TLigne where CodeProduit="MonCodeProduit"
    Le top 1 est la pour ne renvoyer qu'un seul résultat. Puisque ton but est juste de savoir s'il fait partie ou non d'une panoplie, il est inutile de tout ramener.

    Après lorsque tu voudras supprimer ou modifier une panoplie ou un produit, il faudra également penser à traiter également les enregistrements dans la table TLigne pour que l'intégrité de ta base reste correcte.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 97
    Points : 49
    Points
    49
    Par défaut
    Génial !!! Merci beaucoup

    J'essaie ça dès que possible et je te tiens au courant !

    Encore MERCI !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Empêcher l'ajout ultérieur d'un produit dans un panier
    Par bahamut100 dans le forum Langage
    Réponses: 9
    Dernier message: 26/11/2008, 21h46
  2. [eCommerce] Suppression de produit dans un panier
    Par sayes1 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 29/01/2008, 22h17
  3. [Conception] Ajout des produits dans un panier
    Par ghyosmik dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/09/2006, 11h17
  4. [MySQL] Ajout d'un nouveau produit dans un panier
    Par ghyosmik dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 07/09/2006, 15h41
  5. Modifier la quantité d'un produit dans un panier
    Par budiste dans le forum Langage
    Réponses: 22
    Dernier message: 14/02/2006, 09h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo