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):
Ensuite j'ai fait ceci en PHP:
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();
ce qui donne ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part var_dump ($req_Dom_Gen1->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP));
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:
J'ai essayé ceci:
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
mais cela m'affiche l'organisme a chaque fois pour l'id_Prot, quand bien meme ces id_Prot ont le meme organisme.
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']; }
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.
Partager