Page 1 sur 1

grouper les mêmes clefs dans un tableau?

Posté : 14 oct. 2012, 18:31
par Invité
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
2
T4 2
T8 2
T9 1
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

Re: grouper les mêmes clefs dans un tableau?

Posté : 15 oct. 2012, 12:20
par moogli
salut,


tu veux dire que tu as des logins sans somme ? ou des sommes sans login ?

Dans le second cas ta requête m'étonne.

je ne comprend pas a quoi correspond le second exemple de donnée ?

as tu du code qui va avec sa ?

si ta requête (testée avec un client SQL) te retourne les bonnes données c'est que ton code php de traitement est "foireux".



@+

Re: grouper les mêmes clefs dans un tableau?

Posté : 16 oct. 2012, 11:54
par Invité
Pour un problème technique, ce post s'est trouvé dédoublé sur le forum.
J'ai poursuivi sur l'autre post. 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)
Les clefs communes sont additionnés comme voulues. mctarek

Re: grouper les mêmes clefs dans un tableau?

Posté : 16 oct. 2012, 15:32
par Ryle
Modération :
Le multipostage est interdit sur le forum.

Ce sujet a été verrouillé et sera supprimé sous peu.
Des réponses peuvent être apportées à cette adresse :
php-debutant/grouper-les-memes-clefs-da ... 65953.html

Merci de prendre le temps de lire les règlements.