Je suis en train de m’arracher le cerveau a essayer de croiser des données de 2 tables et les regrouper. je m’explique.
J’ai 2 tables Formations et clients.
Je voudrais afficher après une requete l’ensemble des clients (et leurs infos) ayant souscrit a une formation et les regrouper par formation.
J’affiche deja la liste des formations (et d’autres infos) avec un WHILE (jusqu’ici tout va bien)
$sql = 'SELECT * FROM formations ORDER BY formations_date_debut ASC' ;
$rc = @mysql_query($sql,$db_link);
while($formations_data = @mysql_fetch_array($rc)) {
print '$formations_data['ce_que_je_veux']'};
J’imagine bien que certains d’entre vous vont exploser de rire a la lecture de ces lignes (ca me semble un peu tordu aussi :p)
Mais c’est surtout pour vous donner l’idée générale pour réaliser ceci.
Pouvez vous m’aider siouplait ?
Merci d’avance à tous
Edité le 30/01/2008 à 17:26
Il manque bien entendu une jointure entre les tables (jte laisse la faire je ne connais pas les champs) mais je verrais bien un truc du genre pour ton pb :
SELECT
formation_reference,
CASE WHEN formation_reference=clients_choix THEN
‘NOM.’ || clients_nom
END as nom,
CASE WHEN formation_reference=clients_choix THEN
‘PRENOM.’ || clients_prenom
END as prenom
FROM formations left join clients (on ta jointure)
ORDER BY formations_date_debut ASC
(perso je préfère une requête qui me ramenne tous de suite les résultats que j’attend plutot que de transformer le résultat d’une requête. Tous dépend des ressources utilisées par cette dernière).
Edité le 31/01/2008 à 13:52