Récupérer résultat foreach dans une variable
Résolu
simon6023
Messages postés
3
Statut
Membre
-
simon6023 Messages postés 3 Statut Membre -
simon6023 Messages postés 3 Statut Membre -
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
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
-
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 -
Parfait, je vais creuser ça, et regarder si ça marche !
Merci énormément pour cette réponse, ça fait un moment que je cherche... -
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