PHP merger 2 resultats de requetes SELECT
audrey
-
audrey -
audrey -
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
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
Configuration: Windows XP Safari 530.5
8 réponses
-
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' -
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.... -
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é ?
-
-
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 ?
-
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"
-
-
Je viens de le tester en SQL, ce code marche parfaitement. Merci infiniment Darkito.
Francis : il faut bien apprendre un jour...