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 :

Afficher une liste de livres avec une rupture par auteur [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : Luxembourg

    Informations forums :
    Inscription : Janvier 2007
    Messages : 34
    Points : 37
    Points
    37
    Par défaut Afficher une liste de livres avec une rupture par auteur
    Bonjour,

    La question est un peu naïve mais je débute en programmation.
    J'ai une liste d'auteurs dans une table et tous leurs livres dans une autre
    J'aimerais afficher :

    Auteur1
    .......... Livre1
    .......... Livre2
    .......... Livre3
    Auteur2
    .......... Livre1
    ..........
    Auteur3 Livre1
    Auteur3 Livre2


    Pour le moment j'ai une requête avec une jointure qui retourne
    Auteur1 Livre1
    Auteur1 Livre2
    Auteur1 Livre3
    Auteur2 Livre1
    ....

    Comment faire pour ne pas afficher 3 X auteur1 ?

    Merci d'avoir lu mon message,

    Eric

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    Par défaut
    Ca il faut le gérer dans ton affichage , je ne pense pas qu'une requete SQL puisse te faire ceci (on fonctionne par lignes/colonnes dans mysql).
    Une idée comme ça pour t'aider:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $tab_auteurs=array();
    //ensuite tu fais ta requete SQL avec ta jointure comme tu l'as deja faite
    //imaginons que tu aies $query=mysql_query($requete);
    while($liste_livre = mysql_fetch_array($query,MYSQL_ASSOC)){
     if(!in_array($liste_livre[auteur])){
       $liste_auteurs[]=$liste_livre[auteur];
       echo $liste_livre[auteur].' '.$liste_livre[livre];
    }else
    {
      echo $liste_livre[livre];
    }
    }

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Points : 2 284
    Points
    2 284
    Par défaut
    Salut,

    Partant du postulat que tes tables ont cette structure :
    Auteur{ id,nom }
    Livre{ id, id_auteur, nom }

    Tu peux executer la requete suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT *
    FROM Auteur a
    INNER JOIN Livre l on ( a.id = l.id_auteur )
    GROUP BY a.id
    Cependant tu ne récupéreras pas l'ensemble des livres... Mais l'ensemble des auteurs qui ont écrit au moins un livre.

    bye

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : Luxembourg

    Informations forums :
    Inscription : Janvier 2007
    Messages : 34
    Points : 37
    Points
    37
    Par défaut
    Merci Raideman pour l'idée, c'est ce genre d'exemple que je cherchais

    Eric

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

Discussions similaires

  1. [LibreOffice][Base de données] Recuperer une liste de tables et une liste de champs d'une table sur LibreOffice & OpenOffice
    Par gerard.sauvage dans le forum OpenOffice & LibreOffice
    Réponses: 2
    Dernier message: 08/04/2014, 13h35
  2. Remplir un champs TEXT caché avec une fonction on change sur une liste déroulante
    Par tang le breton dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/11/2009, 12h04
  3. [WD11] Lier une liste multi-select avec une rubrique?
    Par LeGugusse dans le forum WinDev
    Réponses: 6
    Dernier message: 15/12/2008, 12h49
  4. Afficher une liste déroulante (:select) avec une ArrayList
    Par tompalmeras dans le forum Struts 2
    Réponses: 3
    Dernier message: 28/04/2008, 22h15
  5. Comment initialiser une liste de composants avec une boucle ?
    Par EricSid dans le forum Composants VCL
    Réponses: 5
    Dernier message: 06/04/2005, 19h46

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