grouper les mêmes clefs dans un tableau?

Invité
Invité n'ayant pas de compte PHPfrance

14 oct. 2012, 18:33

Bonjour. J'ai lancé une requête mysql sur 2 tables en utilisant UNION
SELECT LOGIN, COUNT( LOGIN ) AS num FROM tbl_exp
GROUP BY LOGIN
UNION SELECT LOGIN, COUNT( LOGIN ) AS num FROM tbl_exp_nc
GROUP BY LOGIN

et me retourne ce résultat :

LOGIN num
(vide) 2
T4 2
T8 2
T9 1
(vide) 1
Bien. En résumé, je peux avoir le même LOGIN dupliqué dans le résultat avec un num
Le problème avec php et que le résultat récupéré sous un tableau va causer un problème :
Le tableau ne cumule pas des données avec le même nom de clef.

Array
(
[] => 1
[T4] => 2
[T8] => 2
[T9] => 1
)

Il manque [] => 2

Y a t-il une astuce php pour contourner le problème ou dois je trouver une requête Mysql pour grouper LOGIN
et faire la somme des résultats ?
Dans la 2è solution, pouvez vous m'aider car je ne suis pas expert mysql !
Merci

Eléphant du PHP | 267 Messages

14 oct. 2012, 18:54

salut,

il faut faire un UNION ALL

@+
dix2

Eléphanteau du PHP | 43 Messages

15 oct. 2012, 10:29

salut,
il faut faire un UNION ALL
@+
dix2
Salut. J'ai donc tenté :
SELECT LOGIN, COUNT( LOGIN ) AS num
FROM tbl_exp GROUP BY LOGIN UNION ALL (SELECT LOGIN, COUNT( LOGIN ) AS num
FROM tbl_exp_nc
GROUP BY LOGIN)
Et le résultat est le même tableau avec simple UNION. Je ne parviens pas à grouper
les mêmes clefs en vue d'un tableau php. Help. mctarek

Invité
Invité n'ayant pas de compte PHPfrance

16 oct. 2012, 11:48

Salut. Problème résolu avec
SELECT LOGIN, COUNT( LOGIN ) AS num FROM tbl_exp UNION ALL (SELECT LOGIN, COUNT( LOGIN ) AS num
FROM tbl_exp_nc GROUP BY LOGIN)
Ne pas utiliser 2 fois GROUP BY LOGIN dans la requête.

Ce post s'est trouvé dupliqué en 2 fois sur le forum. Vous pouvez effacer l'autre post.