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 :

Requête SQL et Affichage


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 143
    Par défaut Requête SQL et Affichage
    Bonjour,

    Je suis embêté car je n'arrive pas à résoudre un problème (qui ne doit pas en être un a mon avis ...)

    J'ai une basse de données avec 3 tables
    - Famille (id_famille, nom_famille)
    - Sous Famille (id_sousFamille, id_famille, nom_sous_famille)
    - Produit (id_produit, id_sousFamille, nom_produit)

    Bien sur vous l'avez compris je crée des familles, je crée des sous familles associées au familles et des produit correspondant à une sous famille.

    Je souhaite afficher mes résultats sous cette dorme

    Code html : 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
     
    <ul>
        	<li>Nom_Famille</li>
            	<ul>
                    <li>Nom_sous_Famille1</li>
                        <ul>
                           <li>Nom_produit1</li>
                           <li>Nom_produit2</li> 
                           <li>Nom_produit3</li> 
                        </ul>
                     <li>Nom_sous_Famille2</li>
                        <ul>
                           <li>Nom_produit1</li>
                           <li>Nom_produit2</li> 
                           <li>Nom_produit3</li> 
                        </ul>
                </ul>
        </ul>

    Mon soucis est comment afficher tous ce beau monde dynamiquement à partir de ma base de donnée. (je ne vois pas du tout comment faire...)

    Merci d'avance

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 191
    Par défaut
    déjà pour commencer je ferais qu'une table
    ca sert à rien 3 tables dans ton cas

    Produit (id_produit, id_parent, nom_produit)

    du coup dans ton cas
    Famille = Produit qui a id_parent = null (ou 0)
    SousFamille = Produit qui a id_parent != null et D'autre Produit avec id_parent = current_id
    Produit = Produit qui a id_parent != null et aucun Produit avec id_parent = current_id

    j'irai plus loin en utilisant "Gestion d'arbres par représentation intervallaire" c'est encore plus simple http://sqlpro.developpez.com/cours/arborescence/

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 143
    Par défaut
    Je dois garder 3 tables car je veux pouvoir créer des familles et des sous familles

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 143
    Par défaut
    Je cherche à lister une arborescence depuis 3 tables pour être plus simple

  5. #5
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Bonjour,

    J'aurais bien fait celà en une requête mais je sais pas si nous pouvons trier sur deux critères donc dans le doute voici une solution (moins bonne).

    Tu fais une première requête sur les familles de manière à pour chaque famille son nom et son id (une boucle sur le résultat de la requête).

    Pour chaque famille, tu fais une requête de jointure entre les deux autres tables avec l'id de la famille ($idFamille) en cours comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    01.SELECT nom_sousFamille, nom_produit  
    02.FROM sousFamille sf 
    03.INNER JOIN produit p ON p.id_sousfamille = sf.id_sousfamille
    04.WHERE sf.id_famille = $idFamille
    05.ORDER BY sf.nom_sousFamille
    Ensuite danss toutes tes boucles, tu construit ta page html

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 143
    Par défaut
    Bonjour, merci de votre aide,

    J’avais testé autre chose vous allé me dire ce que vous en penser (je précise que ça fonctionne mais après est ce que c'est propre ...)


    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
    28
    29
    30
    31
    32
    33
    34
    35
     
    <ul>
            <?php 
            if(mysql_num_rows($resultAffichageFamille)){
                    while($famille = mysql_fetch_assoc($resultAffichageFamille)){ ?> 
                <li><?php echo $famille['nom_famille']; $id_famille=$famille['id_famille'];?></li>
            <ul>
            <?php  $requeteAffichageSSFamille = "SELECT * FROM ssFamille WHERE id_famille=$id_famille";
                                    $resultAffichageSSFamille = mysql_query($requeteAffichageSSFamille);
                              ?>  
            <?php 
            if(mysql_num_rows($resultAffichageSSFamille)){
                    while($ssFamille = mysql_fetch_assoc($resultAffichageSSFamille)){ ?> 
     
                <li><?php echo $ssFamille['nom_ssFamille']; $id_ssFamille=$ssFamille['id_ssFamille'];?></li>
                            <ul>
                            <?php  $requeteAffichageProduit = "SELECT * FROM produit WHERE id_ssFamille=$id_ssFamille";
                                    $resultAffichageProduit = mysql_query($requeteAffichageProduit);
                              ?>  
                               <?php 
                                if(mysql_num_rows($resultAffichageProduit)){
                                while($produit = mysql_fetch_assoc($resultAffichageProduit)){ ?> 
                               <li><?php echo $produit['titre_produit']; ?></li>
                                 <?php
                                    }
                            } ?>                   
                            </ul>
                 <?php
                    }
            } ?>                      
            </ul>
         <?php
                }
        } ?>                      
    </ul>

  7. #7
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 143
    Par défaut
    En gros je fais des boucles dans des boucles en récupérant l'id de la boucle en cours pour faire mes requêtes

  8. #8
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    En fait tu fais comme moi mais sur trois requêtes et non deux, sinon le principe c'est le même et ça te donne le bon résultat non

  9. #9
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 143
    Par défaut
    Oui c'est ça, le fonctionnement est la c'est l'essentiel.

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

Discussions similaires

  1. Requête sql et affichage
    Par Le Néophyte dans le forum Requêtes
    Réponses: 20
    Dernier message: 13/06/2016, 21h53
  2. [MySQL] Simplifier une requête sql et affichage dans un tableau
    Par Debutant10 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 01/05/2012, 14h36
  3. [MySQL] Affichage résultat requête SQL dans page HTML comme un tableau
    Par joxbl dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 14/03/2011, 14h26
  4. Requète SQL et affichage liste
    Par Little_flower dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 18/07/2008, 13h33
  5. affichage requête sql sous phppgadmin
    Par kerzut dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 25/02/2005, 12h39

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