PHP merger 2 resultats de requetes SELECT

Fermé
audrey - 3 juil. 2009 à 15:27
 audrey - 3 juil. 2009 à 16:26
Bonjour,
sur mon site les internautes peuvent envoyer des messages. J'aimerais sur une page membre afficher tous les "interlocuteurs" du membre.
interlocuteur : personne qui vous a envoyé un message ou à qui vous avez envoyé un message
Dans ma tables "messages", il y a une colonne expediteur et une colonne destinataire :

$sqlinterlocuteurs1 = "SELECT destinataire FROM messages WHERE expediteur = '$pseudo'";
Là j'extrais tous ceux à qui j'ai envoyé un message.

$sqlinterlocuteurs2 = "SELECT expediteur FROM messages WHERE destinataire = '$pseudo'";
Là j'extrais tous ceux qui m'ont envoyé un message.

Comment assembler ces 2 requêtes SELECT (dans un tableau par exemple) pour ensuite dédoublonner le résultat ?

Exemple : j'ai pu envoyer un message à SARAH qui elle aussi m'a envoyé plusieurs messages.
Dans ma liste d'interlocuteur, j'aimerais qu'elle n'apparaisse qu'une seule fois.

Y aurait il une ame charitable pour m'aider svp ? Je lui en serais éternellement reconnaissante :)
merci d'avance

8 réponses

Darkito Messages postés 1191 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 26 mai 2010 545
3 juil. 2009 à 16:12
Bonjour,

il est possible de faire ce que tu veux directement en SQL via une requête du type :

SELECT DISTINCT
CASE 
    WHEN expediteur = '$pseudo' THEN destinataire
    WHEN destinataire = '$pseudo' THEN expediteur
END as interlocuteur
FROM messages 
WHERE expediteur = '$pseudo' OR destinataire = '$pseudo'

2
Salut,
A mon avis tu ferai mieu de gérer les résultats de ces 2 requetes au lieu d'en faire une seule. D'ailleur je doute que conceptionnalement parlant, ce soit faisable d'en faire une seule....
1
merci pour ta réponse francis. Mais du coup je ne sais pas par quel bout le prendre. Comment arriver à un résultat dédoublonné ?
0
Tu peux pas gérer les résultats via la programmation ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Comment ? Peut on par exemple définir les résultats d'une REQUETE1 dans un ARRAY et ajouter les résultats d'une REQUETE2 dans ce même ARRAY, à la suite ?
0
Ben par exemple, je sais pas ce que tu veux en faire mais bon en php, tout est possible sans se prendre la tete donc... ta juste a te trouver un façon "pratique"
0
oui mais COMMENT ? Quel est le code ?
0
Je viens de le tester en SQL, ce code marche parfaitement. Merci infiniment Darkito.

Francis : il faut bien apprendre un jour...
0