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 SQL Discussion :

Création site catalogue produits... Exemple ?


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 16
    Points : 6
    Points
    6
    Par défaut Création site catalogue produits... Exemple ?
    Bonjour,

    Vous m'avez déjà aidé a y voir plus clair sur ce forum, et j'ai encore besoin de vous ! Merci d'avance

    Je dois créer un site sur lequel il y aurait une rubrique TARIF.
    L'utilisateur entrerait un MOT DE PASS.
    Il accederait ainsi au catalogue des produits dont les PRIX affichés corresponderait à un certain TAUX (en fonction de son mot de passe).

    J'ai donc créé 2 tables : ARTICLES et CLIENTS

    Ma table ARTICLES contient les champs :
    Famille | Reference | Designation | PrixAchat | Prix1 | Prix2 | Prix3
    Ma table CLIENTS contient les champs :
    Societe | Password | NiveauTarif
    Le "défit" que je dois relever est :
    -> Attribuer une marge différente à CHAQUE Famille de produit (pour appliquer une marge, nous utilisons la division. Ex : [PrixAchat \ 0.90] ).
    -> Que le TARIF soit à un "niveau" défini (sur 3) selon le MOT DE PASS entré par le CLIENT


    Et je ne sais absolument pas par quel bout m'y prendre...
    J'espère sincèrement que vous pourrez m'aider sinon je suis dans la mouise...

  2. #2
    Membre habitué Avatar de souellet
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2003
    Messages : 155
    Points : 171
    Points
    171
    Par défaut
    Si je comprend bien, tu assignes un taux d'escompte à un client selon le mot de passe avec lequel il entre.

    Par la suite, tu lui affiches le PrixAchat * NiveauTarif?

    Dans cette exemple, il n'y a aucun lien entre les 2 tables.
    Avant de lui afficher les prix de ta table articles,
    tu dois valider son mot de passe, récupérer son taux => p@NiveauTarif
    et ensuite lui présenter les articles avec le (prix * p@NiveauTarif)

    Si c'est ça t'as juste une requête simple dans le genre de;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT Famille, Reference, Designation, (PrixAchat*p@NiveauTarif) as PrixSociete 
    FROM ARTICLES
    Prix1,2 et 3 sert à quoi?

    Salut

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 16
    Points : 6
    Points
    6
    Par défaut Précision
    Les Prix sont différents selon nos clients. Donc le Prix1 est le + cher et le Prix3, le moins cher.

    En fait, ça marche comme un tableau mon histoire (donc ma solutioon est peut etre dans un array() ...) :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                         prix1                prix2            prix3         
    CLESUSB                0.90               0.85           0.80
    CARTEMERE              0.87                0.83           0.79  
    PROCESSEURS            0.84                0.80          0.74
    etc...
    les "0.XX" corresponde à la marge appliqué SUR LE PRIX D'ACHAT.

    Ainsi, si le MOT DE PASS d'un client correspond au tarif "du milieu" (donc 2), alors les prix affichés seront ceux de la colonne "prix2".

    J'espère que j'ai été + clair... Et merci d'avance

  4. #4
    Membre habitué Avatar de souellet
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2003
    Messages : 155
    Points : 171
    Points
    171
    Par défaut
    Donc, dans ta table articles, ça te prendrais dans ta clé un lien avec ton niveauTarif
    • Famille| Reference|Designation|NiveauTarif|Prix

    De cette façon, tu pourrais faire;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Famille, Reference, Designation, Prix 
    FROM ARTICLES T1
    JOIN CLIENTS T2 ON T1.NiveauTarif = T2.NiveauTarif
    WHERE T2.NiveauTarif = ???

  5. #5
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Tant qu'à modifier le modèle (et je suis pour), autant le normaliser :

    Article(Reference, Famille, Designation)
    Tarif(Reference, NiveauTarif, Prix)
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 16
    Points : 6
    Points
    6
    Par défaut Suite
    J'ai longuement médité sur vos suggestions, mais je ne comprends pas où se fait le calcul de la marge de cette façon ... Directement dans la colonne "NiveauTarif" ?? "Prix" ?


    Merci encore et encore...

  7. #7
    Membre habitué Avatar de souellet
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2003
    Messages : 155
    Points : 171
    Points
    171
    Par défaut
    Si c'est de nouvelles tables que tu es en train de créer, je te conseille de faire en sorte que sa maintenance soit simple.

    Habituellement, le prix de vente d'un article est le prix coûtant + des frais fixes + marge de profit - escompte client.

    Donc dans la table article t'as les descriptions de l'article, son coûtant, les frais d'administration et la marge de profit fixé.

    Dans ta table client t'as ses informations et son %escompte d'accordé.
    L'escompte peut être par famille d'article, par quantité commandé...

    Pis après... ça grossis, pis grossis... et tu deviens avec une méga base de données. D'où l'importance de bien partir !

    C'est une belle analyse à faire!

    Bye

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    D'accord OK...
    Parce que, effectivement, il y a une marge à appliquer SELON la FAMILLE de produit (je n'ai rien d'autre à calculer ; pas de frais fixe etc),

    Et par ailleurs :nous ne vendons pas au mêmes prix selon les clients (nous sommes grossistes, donc les prix changent d'un petit clients à un très gros). Ce qui nécessite d'attribuer selon le client (donc son MOT DE PASSE) un tarif 1 ou 2 ou 3...

    Donc bien partir... OK, je comprends... Mais je ne comprends quand même pas comment faire mon calcul de marge d'une part, et comment la "graduer" en 3 tarifs, d'autres part....

  9. #9
    Membre habitué Avatar de souellet
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2003
    Messages : 155
    Points : 171
    Points
    171
    Par défaut
    Pour tes articles ce serait peut-être plus du genre:
    • Famille | Reference | Designation | PrixAchat | NiveauTarif | PrixVente
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Famille, Reference, Designation, Prix 
    FROM ARTICLES T1 
    JOIN CLIENTS T2 ON T1.NiveauTarif = T2.NiveauTarif
    Sauf pour le PrixAchat que je n'aime pas vraiment qu'il se répète pour chaque NiveauTarif même s'il est le même.

  10. #10
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Famille(IdFamille, Libelle, Marge)
    Article(IdReference, IdFamille, Designation)
    Tarif(IdReference, NiveauTarif, Prix)
    User (IdUser, Login, NiveauTarif)
    Prix d'un article pour un User donné :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT Prix * Marge
    FROM Article a INNER JOIN Famille f ON f.IdFamille = a.IdFamille
                   INNER JOIN Tarif t ON t.IdReference = .IdReference
                   INNER JOIN User u ON u.NiveauTarif = t.NiveauTarif
    WHERE Login ='Le login du User'
      AND IdReference = 'Artcile en cours'
    Je ne suis pas sur d'avoir compris le sens de Prix1, Prix2 prix3 dans ton exemple, sont-ce des prix ou des coefficient à appliquer sur le prix ?
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  11. #11
    Membre habitué Avatar de souellet
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2003
    Messages : 155
    Points : 171
    Points
    171
    Par défaut
    Citation Envoyé par Médiat
    Je ne suis pas sur d'avoir compris le sens de Prix1, Prix2 prix3 dans ton exemple, sont-ce des prix ou des coefficient à appliquer sur le prix ?
    Selon ce que je comprend, le client à la possibilité de se loguer avec plus d'un password. Le NiveauTarif correspond à 1, 2 ou 3.
    Par la suite il affiche soit le Prix1, Prix2 ou Prix3 selon le NiveauTarif.

    Étant le client, aussitôt que je saurais qu'il y a possibilité de me loguer avec plus d'un password je poserais la question à savoir pourquoi?
    et "Adieu le prix selon le password" .

  12. #12
    Membre habitué Avatar de souellet
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2003
    Messages : 155
    Points : 171
    Points
    171
    Par défaut
    Advenant que le nombre de client t'oblige à donner encore plus de possibilité de jouer avec les prix, est-ce que tu vas ajouter dans ta table des articles prix4, prix5...?

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 16
    Points : 6
    Points
    6
    Par défaut + clair !
    Apparemment , vous n'avez pas très bien compris ce que je souhaitais faire. Je m'excuse vraiment de n'avoir pas été clair... Je vais retenter de m'expliquer, en citant des exemples "types":

    Nous vendons nos produits à des prix DIFFERENTS SELON nos clients.
    Pour cela, je souhaite leur attribuer un mot de passe qui soit 1 ou 2 ou 3, c'est à dire :
    - 1 = le tarif le + cher
    - 2= le tarif moyen
    - 3= le tarif le moins cher

    Donc, si l'on prend l'exemple de quelques produits, admettons une BARRETTE MEMOIRE, cette dernière aura 3 "niveaux de tarif" :
    Prix d'achat : 50 €
    Prix 1 : 58,82 € (50€/0,85) --> le 0,85 est un calcul que font les commerciaux. Ca équivaut à marger à 15%
    Prix 2 : 55,55 € (50€:0,90) --> (0,90 équivaut à marger à 10%)
    Prix 3 : 52,63€ (50€/0,95) --> (0,95 équivaut à marger à 5% etc...)

    Toutes les barettes mémoires auront CE MEME BAREME (calculé sur chaque référence, donc avec des prix d'achat différents).

    Parconte les barèmes seront différent si la famille de produits (="rayon") est PROCESSEUR, ce qui donnera :
    Prix d'achat : 50 €
    Prix 1 : 60,97 € (50€/0,82)
    Prix 2 : 56,81 € (50€:0,88)
    Prix 3 : 54,34€ (50€/0,92)

    Tous les processeurs auront CE MEME BAREME.

    etc...


    Donc imaginons que les 2 produits ci-dessus apparaissent sur le tarif d'un client loggué en tarif 1 (donc plus cher) les prix seront :
    Barrette mémoire : 58,82 €
    Processeur : 60,97 €




    Donc je dois résoudre 2 problèmes :
    - Effectuer le calcul de la marge (par programmation ou directement dans une table ??)
    - Détecter le "niveau de tarif" du client selon son MOT DE PASSE, afin de lui afficher les TARIFS CORRESPONDANTS.


    Et je ne sais même pas si mes tables de départ sont un bon choix (elles sont décrites dans mes posts antérieurs). D'après ce que vous me dites, pas du tout...
    J'espère que j'ai réussi à mieux m'exprimer cette fois.

    C'est vraiment super sympa de votre part d'aider les gens comme ça. Merci.

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 16
    Points : 6
    Points
    6
    Par défaut table client
    Je précise que j'attribue un seul mot de passe par client bien sur , exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    societe      | tarif |   password
     
    societe-x    |   1   |     fdsf
    societe-y    |   1   |    reolr
    societe-z    |   3   |    okop
    societe-n    |   2   |    plpik
    societe-xy   |   3   |    dsaz

    MERCI !!

  15. #15
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Il me semblait bien que ce n'était pas clair :

    Famille(IdFamille, Libelle)
    Tarif (IdFamille, NiveauTarif, Marge)
    Article(IdReference, IdFamille, Designation, PrixAchat)
    User (IdUser, Login, NiveauTarif)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT a.Désignation, PrixAchat / Marge 
    FROM Article a INNER JOIN Tarif t ON t.IdFamille = a.IdFamille
                   INNER JOIN User u  ON u.NiveauTarif = t.NiveauTarif 
    WHERE Login ='Le login du User' 
      AND IdReference = 'Article en cours'
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  16. #16
    Membre habitué Avatar de souellet
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2003
    Messages : 155
    Points : 171
    Points
    171
    Par défaut
    L'idée de Médiat va pas mal dans le même sens que moi.

    L'ajout d'une table de Tarif est la meilleur solution.
    Elle te permet de faire des changements rapidement de tarifs sans passer toutes les articles ou les clients.

    Lâche pas, t'es sur la bonne voie!

  17. #17
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 16
    Points : 6
    Points
    6
    Par défaut Un grand merci
    Un grand merci pour toutes vos réponses. Je vais étudier tous vos posts et me lance dans mes tests !

    Je reviendrais faire le point, et vous tenir au courant, dès que j'aurais un peu avancé.


    Merci encore pour votre aide et vos encouragements, je vais essayer de m'en sortir !



    ---------------------------------
    Un ti'kawua... Et ça repart!

  18. #18
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 16
    Points : 6
    Points
    6
    Par défaut [resolu] Génial !
    Géniaaaaal !
    Grace à vous j'ai réussi mon calcul !!!

    Je vous promets pas de vous laisser définitivement tranquille, mais j'ai déjà réussi à afficher mes prix selon le mot de passe !!!

    Il ne me reste plus qu'à me plonger dans le pbm des sessions... Pour que mes utilisateurs puissent se loguer.
    Et trouver comment faire pour que le login en question n'apparaisse pas ds l'URL... Mais ça devrait être faisable !


    Voilà ! Merci !!!!!!!

  19. #19
    Membre habitué Avatar de souellet
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2003
    Messages : 155
    Points : 171
    Points
    171
    Par défaut
    Y'a aucun dérangement.

    La meilleure façon d'apprendre est de poser des questions.
    La meilleure façon de s'améliorer est d'essayer de répondre aux questions.

    L'existance des forums est basé sur l'entraide et le goût de se dépasser.

    Au plaisir!

  20. #20
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    Vive les forums! Au plaisir également

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

Discussions similaires

  1. Création d'un catalogue produit
    Par emy3149 dans le forum IHM
    Réponses: 0
    Dernier message: 22/10/2013, 10h01
  2. Réponses: 5
    Dernier message: 01/09/2008, 13h20
  3. Réponses: 11
    Dernier message: 12/01/2006, 18h01
  4. [devis] Création site web pro
    Par sheepk dans le forum Général Conception Web
    Réponses: 7
    Dernier message: 28/11/2005, 13h07
  5. [DEBUTANT] Création site marchand avec SGBD
    Par plex dans le forum Débuter
    Réponses: 7
    Dernier message: 10/02/2005, 14h19

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