Aide requete et code

Résolu
Nicorad Messages postés 30 Date d'inscription mardi 11 décembre 2007 Statut Membre Dernière intervention 19 janvier 2009 - 14 févr. 2008 à 22:55
Nicorad Messages postés 30 Date d'inscription mardi 11 décembre 2007 Statut Membre Dernière intervention 19 janvier 2009 - 15 févr. 2008 à 17:02
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

Nicorad Messages postés 30 Date d'inscription mardi 11 décembre 2007 Statut Membre Dernière intervention 19 janvier 2009
15 févr. 2008 à 16:40
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...  
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
15 févr. 2008 à 08:19
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'], '
';
}
?>
0
Nicorad Messages postés 30 Date d'inscription mardi 11 décembre 2007 Statut Membre Dernière intervention 19 janvier 2009
15 févr. 2008 à 16:28
Merci beaucoup, jvais essayer ca de suite....
0
Nicorad Messages postés 30 Date d'inscription mardi 11 décembre 2007 Statut Membre Dernière intervention 19 janvier 2009
15 févr. 2008 à 17:02
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....
0
Rejoignez-nous