Page 1 sur 1

[résolu]2 select dans 1 meme tableau

Posté : 16 févr. 2012, 20:58
par ptitbonome
bonjour

j'aurais besoin d'un ptit coup de main:

voici mon code qui fonctionne bien:
$sql = " SELECT *  FROM message_membre,membres_chat where expediteur = '$destinataire' and membres_chat.pseudo=message_membre.destinataire group by destinataire ";
 
$req = mysql_query ($sql) or die (mysql_error());
$myArray = array();

while(false != ($data = mysql_fetch_array($req)))
$myArray[] = array(
	'expediteur' => utf8_encode($data['expediteur']),
	'destinataire' => utf8_encode($data['destinataire']),
	'nbreMessage' => utf8_encode($data['nbreMess']),
	'nomPhoto' => utf8_encode($data['photo']),
	'statusE' => utf8_encode($data['statusE'])
	
	);

echo json_encode ($myArray);
la réponse a cette requête me donne ca:
[{"expediteur":"david","destinataire":"sophie","nbreMessage":"0","nomPhoto":"http:xxxxxxx/photos\/4xlWoAHT8b.jpg","statusE":"1"},{"expediteur":"david","destinataire":"michel","nbreMessage":"0","nomPhoto":"http:xxxxxxxxxx/photos\/ykjy73CjUS.jpg","statusE":"1"},{"expediteur":"david","destinataire":"matt","nbreMessage":"0","nomPhoto":"http:xxxxxx/photos\/hbrJUlrTgj.jpg","statusE":"1"}]

je voudrais ajouter au meme tableau la réponse à cette requête
$sql = " SELECT *  FROM message_membre,membres_chat where destinataire = '$destinataire' and membres_chat.pseudo=message_membre.destinataire group by expediteur  ";

Re: 2 select dans 1 meme tableau

Posté : 16 févr. 2012, 21:01
par xTG
Tu as une erreur de copier/coller car ce sont les mêmes requêtes que tu nous présentes.

Re: 2 select dans 1 meme tableau

Posté : 16 févr. 2012, 21:07
par ptitbonome
Tu as une erreur de copier/coller car ce sont les mêmes requêtes que tu nous présentes.
nan elle est bien différente

Re: 2 select dans 1 meme tableau

Posté : 16 févr. 2012, 21:10
par Thibaud C
ben tu copie colle ton code et tu met ta deuxième requete a la place ;)
et tu enlève la déclarattion du array() ofc

Re: 2 select dans 1 meme tableau

Posté : 16 févr. 2012, 21:19
par ptitbonome
ben tu copie colle ton code et tu met ta deuxième requete a la place ;)
et tu enlève la déclarattion du array() ofc
j'ai pas très bien compris. si j'enleve mon array j'aurais plus de tableau. en faite il faudrai que j'arrive à avoir dans mon tableau le résultat des 2 requêtes.

Re: 2 select dans 1 meme tableau

Posté : 16 févr. 2012, 21:47
par xTG
Ah oui le group by... Bon il y aurait à retravailler la requête pour optimiser ça mais ce soir je fatigue donc la version simple :
$sql = " SELECT *  FROM message_membre,membres_chat where expediteur = '$destinataire' and membres_chat.pseudo=message_membre.destinataire group by destinataire 
UNION
SELECT *  FROM message_membre,membres_chat where destinataire = '$destinataire' and membres_chat.pseudo=message_membre.destinataire group by expediteur";

Re: 2 select dans 1 meme tableau

Posté : 16 févr. 2012, 22:01
par ptitbonome
Ah oui le group by... Bon il y aurait à retravailler la requête pour optimiser ça mais ce soir je fatigue donc la version simple :
$sql = " SELECT *  FROM message_membre,membres_chat where expediteur = '$destinataire' and membres_chat.pseudo=message_membre.destinataire group by destinataire 
UNION
SELECT *  FROM message_membre,membres_chat where destinataire = '$destinataire' and membres_chat.pseudo=message_membre.destinataire group by expediteur";
j'avais pas pensé a union.

merci ca fonctionne