Bonjour

Je voudrais obtenir le résultat suivant:



Directeur |Statut | Spécialité | Paris | E mail
-----------------------------------------------------------------------------------------------
Michel A. | Directeur | Anthropologie, identité, métissage | non | michel@e.com
Elsa A. | professeur |Cinéma, Journalisme | oui |Alsa@e.com
Domi B. | Directeur | Littérature, théâtre, cinéma | non | domi@e.com


mais au lieu de ça J'obtiens:

Directeur |Statut | Spécialité | Paris | E mail
-----------------------------------------------------------------------------------------------
Michel A. | Directeur | Anthropologie | non | Michel@e.com
Michel A. | Directeur | identité | non | Michel@e.com
Michel A. | Directeur | métissage | non | Michel@e.com
Elsa A. | professeur |Cinéma | oui |Alsa@e.com
Elsa A. | professeur |Journalisme | oui | Alsa@e.com
Domi B. | Directeur | Littérature | non | domi@e.com
Domi B. | Directeur | théâtre | non | domi@e.com
Domi B. | Directeur | cinéma | non | domi@e.com


J'utilise SQL

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
SELECT *
FROM chercheur AS t1, appartenanceED AS t2, ecoleDoctorale AS t3,statutChercheur AS t4, chercheurSpecialite AS t5, specialite AS t6 
WHERE t1.idChercheur = t2.idChercheur AND t2.idEcoleDoctorale = t3.idEcoleDoctorale AND t1.idStatutChercheur = t4.idStatutChercheur AND t1.idChercheur = t5.idChercheur AND t5.idSpecialite = t6.idSpecialite AND t3.numeroEcoleDoctorale =122 AND t1.nature = 'enseignant chercheur' 
ORDER BY t1.nom 
LIMIT 0, 30 " ;
Pour éviter cela, il faudrait que j'utilise GROUP_CONCAT() dans mysql de cette façon:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
SELECT *
GROUP_CONCAT(DISTINCT t6.nomChercheurSpecialite 
ORDER BY nomChercheurSpecialite ASC SEPARATOR ",") 
FROM chercheur AS t1, appartenanceED AS t2, ecoleDoctorale AS t3,statutChercheur AS t4, chercheurSpecialite AS t5, specialite AS t6 
WHERE t1.idChercheur = t2.idChercheur AND t2.idEcoleDoctorale = t3.idEcoleDoctorale AND t1.idStatutChercheur = t4.idStatutChercheur AND t1.idChercheur = t5.idChercheur AND t5.idSpecialite = t6.idSpecialite AND t3.numeroEcoleDoctorale =122 AND t1.nature = 'enseignant chercheur' 
GROUP BY t1.nom 
LIMIT 0, 30 " ;

MAIS LE SERVEUR QUI HEBERGE LE SITE EST EN MYSQL 4.0
ET LA FONCTION GROUP_CONCAT() n'existe qu'à partir de mysql 4.1


Ma question: comment obtenir le même résulatat avec du PHP, en tenant compte de
la version MYSQL 4.0 et PHP 4?

Merci

Sujet déplacé depuis la section PHP par BiD0uille.