Bonjour a tous,

Voila mon petit probleme. Je souhaiterais regrouper les résultats d'une mes requetes en fonction d'un attribut commun.
Par exemple, j'ai une table protéine ou je sélectionne "id_Prot" et "organisme".
Je souhaiterais regrouper tous les id_Prot qui ont le meme organisme.

Voici ma requete qui marche (testé sur phpMyAdmin):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
$req_Dom_Gen1= $db->prepare(("SELECT DISTINCT PROTEINE.organisme, PROTEINE.id_Prot, OCC_NVDC_PAR_DC.id_Prot FROM PROTEINE, OCC_NVDC_PAR_DC WHERE OCC_NVDC_PAR_DC.id_Dom = '$domaine' AND OCC_NVDC_PAR_DC.FDR <= '20' AND PROTEINE.id_Prot=OCC_NVDC_PAR_DC.id_Prot ORDER BY PROTEINE.organisme ASC")); 
$req_Dom_Gen1->execute();
Ensuite j'ai fait ceci en PHP:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
var_dump ($req_Dom_Gen1->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP));
ce qui donne ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
array(4) { 
["AMP-dependent protein kinase type I-beta regulatory subunit, putative "]=> array(1) { [0]=> string(12) "TVAG_103080 " } 
["Leishmania_braziliensis "]=> array(1) { [0]=> string(15) "LbrM09_V2.1600 " } 
["Toxoplasma_gondii_GT1 "]=> array(1) { [0]=> string(13) "TGGT1_087640 " } 
["Trypanosoma_brucei_gambiense "]=> array(4) { [0]=> string(13) "Tbg972.1.760 " 
                                               [1]=> string(14) "Tbg972.9.1480 " 
                                               [2]=> string(14) "Tbg972.6.3320 " 
                                               [3]=> string(14) "Tbg972.3.5620 " } }

J'ai donc bien regroupé les id_Prot en fonction de leur organisme mais le probleme que j'ai maintenant, c'est comment récuperer l'organisme et l'id_Prot et les afficher proprement comme ceci par exemple:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
AMP-dependent protein kinase type I-beta regulatory subunit, putative :
TVAG_103080
 
Trypanosoma_brucei_gambiense:
Tbg972.1.760 
Tbg972.9.1480 
Tbg972.6.3320
Tbg972.3.5620
J'ai essayé ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
while ($result=$req_Dom_Gen1->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP));
{
echo $result['organisme'];
 
echo $result['id_Prot'];
 
}
mais cela m'affiche l'organisme a chaque fois pour l'id_Prot, quand bien meme ces id_Prot ont le meme organisme.

Si vous pouviez m'aider, je vous en serai reconnaissante car cela fait 2 jours que je bloque dessus et j'ai vraiment tout essayé....

Merci a vous.