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 :

Affichage menu si des produits existent


Sujet :

Langage SQL

  1. #1
    Débutant
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 125
    Points : 704
    Points
    704
    Par défaut Affichage menu si des produits existent
    Bonjour,

    J'ai un menu à plusieurs niveaux (voir-ci joint, une image parle plus qu'un long discours).

    Je n'arrive pas à faire la requête qui affiche uniquement les statuts et les catégories auxquelles il y a des produits

    Dans l'exemple, il ne faut pas afficher :
    - categorie3
    - categorie4
    - statut3

    J'étais parti sur 2 requêtes mais ca va être long en exécution...

    Merci d'avance.
    Images attachées Images attachées  
    Évènements dans le 06?
    www.sortir06.com

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 786
    Points
    30 786
    Par défaut
    Si tu nous présentais la structure de ta table et les requêtes que tu as commencées, il serait possible de t'aider à optimiser ta requête
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Débutant
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 125
    Points : 704
    Points
    704
    Par défaut
    Structure minimalisé des tables
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    CREATE TABLE IF NOT EXISTS `2_statut` (
      `id_statut` int(11) unsigned NOT NULL AUTO_INCREMENT,
      `nom_statut` varchar(128) NOT NULL,
    ) 
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `3_sous_categorie`
    --
     
    CREATE TABLE IF NOT EXISTS `3_sous_categorie` (
      `id_sous_categorie` int(11) unsigned NOT NULL AUTO_INCREMENT,
      `nom_sous_categorie` varchar(128) NOT NULL,
      `id_statut` int(11) NOT NULL
    ) 
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `4_produit`
    --
     
    CREATE TABLE IF NOT EXISTS `4_produit` (
      `id_produit` int(128) unsigned NOT NULL AUTO_INCREMENT,
      `id_sous_categorie` int(11) NOT NULL,
    )
    Voila ce que j'ai commencé :

    - Je compte le nombre de produits pour une sous-categorie donné (par exemple id = 1)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT count(*) 
    FROM `4_produit`
    where id_sous_categorie = 1
    - Si le nombre est diffèrent de 0, alors on affiche cette sous-categorie dans le menu.
    Évènements dans le 06?
    www.sortir06.com

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT s.id_statut, s.nom_statut,
      c.id_sous_categorie, c.nom_sous_categorie,
      COUNT(p.id_produit) AS nb_produits
    FROM 2_statut AS s
    LEFT OUTER JOIN 3_sous_categorie AS c ON s.id_statut = c.id_statut
      LEFT OUTER JOIN 4_produit AS p ON c.id_sous_categorie = p.id_sous_categorie
    GROUP BY s.id_statut, s.nom_statut,
      c.id_sous_categorie, c.nom_sous_categorie
    HAVING COUNT(p.id_produit) > 0
    ORDER BY s.id_statut, s.nom_statut,
      c.id_sous_categorie, c.nom_sous_categorie
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. [osCommerce] Affichage des produits listes dans une categorie
    Par lachourave dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 22/07/2010, 12h22
  2. affichage du menu avec des caractères carrés
    Par copro dans le forum Windows XP
    Réponses: 5
    Dernier message: 10/07/2010, 01h40
  3. Réponses: 4
    Dernier message: 16/11/2009, 22h39
  4. affichage aléatoire des produits par ordre croissant.
    Par marcandre dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/11/2008, 16h40
  5. [SimpleXML] Contrôler l'affichage des produits
    Par antitrust56 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 03/02/2008, 17h11

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