Récupérer résultat foreach dans une variable

Résolu/Fermé
simon6023 Messages postés 3 Date d'inscription vendredi 18 février 2011 Statut Membre Dernière intervention 13 mai 2011 - 10 mai 2011 à 17:15
simon6023 Messages postés 3 Date d'inscription vendredi 18 février 2011 Statut Membre Dernière intervention 13 mai 2011 - 13 mai 2011 à 15:58
Bonjour à tous,

Je rencontre actuellement un problème avec un foreach, qui retourne plusieurs champs de ma base de données, que je pourrais schématiser comme ceci :

"Titre de l'évènement - ID du participant 1, ID du participant 2"

Le "titre de l'évènement" est le résultat d'une requête, ainsi que les deux ID.

Je voudrais pouvoir récupérer cet "ID du participant XXX" pour l'insérer dans une autre requête, et obtenir ainsi le prénom et le nom de la personne concernée, ligne par ligne (qui sont stockés dans ma base, avec ce fameux ID en alias).

J'ai eu beau chercher partout, je ne vois pas quelle peut être la solution.
N'ayant pas de grandes connaissances en PHP, je suis un peu bloqué...

Si l'un de vous peut orienter mes recherches dans une direction, ce serait parfait !
Bonne continuation,

simon6023



3 réponses

Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
10 mai 2011 à 17:21
Bonjour,

Ce que tu cherches à faire se résout de façon plus élégante directement au niveau de ta requête à ta base de données, en utilisant ce que l'on appelle une jointure : à savoir, une requête sur plusieurs tables.
Ainsi, ta requête te retournerait directement
« Titre de l'évènement - Nom/ prénom du participant 1 - Nom/prénom du participant 2 »

La requête ressemblerait à ça :

SELECT 
    e.titre, 
    p1.nom AS nomP1, 
    p1.prenom AS prenomP1, 
    p2.nom AS nomP2, 
    p2.prenom AS prenomP2
FROM evenement e
INNER JOIN participants p1 ON p1.ID = e.IDParticipant1
INNER JOIN participants p2 ON p2.ID = e.IDParticipant2
(WHERE...)


Xavier
1
simon6023 Messages postés 3 Date d'inscription vendredi 18 février 2011 Statut Membre Dernière intervention 13 mai 2011
10 mai 2011 à 17:33
Parfait, je vais creuser ça, et regarder si ça marche !

Merci énormément pour cette réponse, ça fait un moment que je cherche...
0
simon6023 Messages postés 3 Date d'inscription vendredi 18 février 2011 Statut Membre Dernière intervention 13 mai 2011
13 mai 2011 à 15:58
Effectivement, ça fonctionne !

J'ai seulement remplacé le deuxième "INNER JOIN" par "LEFT OUTER JOIN", sinon il ne prenait pas en compte le cas où un événement n'avait qu'un seul participant.

Un énorme merci pour cet éclairage !

simon6023
0