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

PHP & Base de données Discussion :

[SQL] Problème de résultat de requete SQL


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 3
    Points : 3
    Points
    3
    Par défaut [SQL] Problème de résultat de requete SQL
    Tout d'abord bonsoir et bonne année à tous !

    Voici ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT p.id_prod, p.ref_prod, c.categorie_nom, g.genre_nom, m.marque_name, p.statut_prod 
    FROM produits p, marques m, genre g, categorie c 
    WHERE p.prod_marque_id=m.marque_id 
    AND p.prod_genre_id=g.genre_id 
    AND c.categorie_id=p.prod_cat_id 
    AND prod_cat_id=1 
    OR prod_cat_id IN (select categorie_id from categorie where categorie_parent_id=1)
    Cette requête me permet de recupérer les produits dont le numéro de categorie est égale à 1 (dans cette exemple) mais aussi les sous catégories de cette catégorie.

    exemple : je veux tous les produits de la catégorie VETEMENT ou des catégories T-shirt, PULL, JEANS etc...
    Le problème c'est que le resultat de cette requête me renvoie une drole de liste :

    1 PR154/65G Textille homme Levis 0
    1 PR154/65G Textille homme Nike 0
    1 PR154/65G Textille homme Adidas 0
    1 PR154/65G Textille homme Lotto 0
    1 PR154/65G Textille homme Puma 0
    1 PR154/65G Textille femme Levis 0
    1 PR154/65G Textille femme Nike 0
    1 PR154/65G Textille femme Adidas 0
    1 PR154/65G Textille femme Lotto 0
    1 PR154/65G Textille femme Puma 0
    1 PR154/65G Textille unisexe Levis 0
    1 PR154/65G Textille unisexe Nike 0
    1 PR154/65G Textille unisexe Adidas 0
    1 PR154/65G Textille unisexe Lotto 0
    1 PR154/65G Textille unisexe Puma 0
    1 PR154/65G Textille enfant Levis 0
    1 PR154/65G Textille enfant Nike 0
    1 PR154/65G Textille enfant Adidas 0
    1 PR154/65G Textille enfant Lotto 0
    1 PR154/65G Textille enfant Puma 0
    1 PR154/65G Textille garçon Levis 0
    1 PR154/65G Textille garçon Nike 0
    1 PR154/65G Textille garçon Adidas 0
    1 PR154/65G Textille garçon Lotto 0
    1 PR154/65G Textille garçon Puma 0
    1 PR154/65G Textille fille Levis 0
    1 PR154/65G Textille fille Nike 0
    1 PR154/65G Textille fille Adidas 0
    1 PR154/65G Textille fille Lotto 0
    1 PR154/65G Textille fille Puma 0
    En sachant que normalement ce produit fait partie de genre HOMME, catégorie Textille et de marque LEVIS :s

    J'espère que je me suis fait comprendre sur mon problème en vous remerciant d'avance sur votre futur aide

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Août 2002
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 194
    Points : 216
    Points
    216
    Par défaut
    Citation Envoyé par nans_13 Voir le message
    [.......]En sachant que normalement ce produit fait partie de genre HOMME, catégorie Textille et de marque LEVIS :s

    J'espère que je me suis fait comprendre sur mon problème en vous remerciant d'avance sur votre futur aide
    non je n'ai pas compris .....
    une requête renvoit ce qu'elle doit renvoyer, comme toujours
    si elle ne renvoit pas ce qu'on attend c'est juste que l'on mal formulé dans la requête ce qu'on attendait

    si tu voulais uniquement les produits de genre HOMME, catégorie Textille et de marque LEVIS il fallait ajouter des clauses dans le WHERE pour chaque limitation (genre homme, catégorie textile, marque levis)...

    (accessoirement prendre le temps d'expliquer chaque champ et les structure des tables ne serait pas un mal)

  3. #3
    Membre expérimenté
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Points : 1 413
    Points
    1 413
    Par défaut
    Ce ne serait pas un problèpme de parenthèses avec ton OR ?
    Essaye de mettre des paranthèses après ton dernier AND et fermer à la fin de ton OR

  4. #4
    Candidat au Club
    Inscrit en
    Janvier 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Merci jbrasselet ça marche ! merci pour la rapidité de réponses !

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

Discussions similaires

  1. [SQL] Probleme exploitation résultat de requete SQL
    Par ghargamaster dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 02/09/2006, 01h52
  2. [SQL] Problème d'addition dans requete SQL
    Par cheers94wow dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 10/05/2006, 15h05
  3. [SQL] Problème de résultat avec une requête
    Par raptorman dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/01/2006, 17h16
  4. [SQL] problème pour faire ma requete
    Par seb.briet dans le forum Langage SQL
    Réponses: 4
    Dernier message: 29/12/2004, 16h51
  5. Problèmes d'espaces après requete SQL
    Par innosang dans le forum Bases de données
    Réponses: 7
    Dernier message: 29/04/2004, 16h47

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