Aide requete et code [Résolu]

Signaler
Messages postés
30
Date d'inscription
mardi 11 décembre 2007
Statut
Membre
Dernière intervention
19 janvier 2009
-
Messages postés
30
Date d'inscription
mardi 11 décembre 2007
Statut
Membre
Dernière intervention
19 janvier 2009
-
Bonjour à tous,

Voila je suis en train de faire un site et j'ai un problème pour afficher des données, étant débutant, je me tourne vers les nombreux spécialistes qui peuplent ce forum...

Dans ma base de donnée, deux tables me sont utiles pour afficher ce que je veux:

-----musiciens-----
id_musicien        clé primaire  
id_instrument      index
nom

prenom
-----instruments-----
id_instrument      clé primaire
instrument

Je ne pense pas avoir besoin d'expliquer ce qu'il se trouve dans les champs, les noms parlent d'eux même...

Maintenant j'aimerai afficher dans ma page:

 instrument 1
    liste des musiciens qui jouent cet instrument

instrument 2
    liste des musiciens qui jouent cet instrument

etc.....

En ce qui concerne la requête, je ne pense pas que l'erreur vient de la:
    $sql = "select M.id_musicien, M.nom, M.prenom, I.id_instrument, I.instrument
                from musiciens M
                inner join instruments I on M.id_instrument=I.id_instrument
                order by I.id_instrument, nom";

Voila si vous pouviez m'aider pour afficher les données dans l'ordre voulu, ca serai vraiment sympa...

Merci d'avance.
Nicolas

4 réponses

Messages postés
30
Date d'inscription
mardi 11 décembre 2007
Statut
Membre
Dernière intervention
19 janvier 2009

Après avoir effectuer ce script, j'obtiens le même résultat qu'une de mes tentatives à savoir:

instrum 1
   nom d'un musicien
instrum 1
   nom d'un autre
instrum 2
   nom...
intrum 2
 nom...
instrum 3

etc etc

moi ce que j'aimerai réaliser, c'est regrouper tous ceux qui jouent le même instrument sous le nom d'instrument, ex:

Trompette :
   musicien 1
   musicien 2
   musicien 3
   ......
Saxophone :
  musicien 1
 musicien 2
musicien 3

....
....

Si je n'ai pas fournis assez d'informations, n'hésitez pas à m'en demander....

Merci...  
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Hello,

tu devras faire ça en php. Ce qui devrait être simple, puisque tu ordonnes par instrument en priorité.
<?php
$iInstrument = 0;
while($aFetch = xxx_fetch_assoc($rQuery)) {
    if($aFetch['id_instrument'] !== $iInstrument) {
       $iInstrument = $aFetch['id_instrument'];
       echo '', $aFetch['instrument'], '
';
    }
    echo $aFetch['prenom'], ' ', $aFetch['nom'], '
';
}
?>
Messages postés
30
Date d'inscription
mardi 11 décembre 2007
Statut
Membre
Dernière intervention
19 janvier 2009

Merci beaucoup, jvais essayer ca de suite....
Messages postés
30
Date d'inscription
mardi 11 décembre 2007
Statut
Membre
Dernière intervention
19 janvier 2009

EDIT: La fonction marche très bien, je ne sais pas pourquoi il m'affichai mal les donnée la première fois...Un très grand merci....