J'ai pas vraiment saisi la question, que cherches-tu à faire ?
Bonjour,
Je souhaiterais récuperer dans une colonne toute les ligne qui sont = x et aprés les compter.
Exemple :
Dans la base donné on a une colonne is_admin qui est un group = x et is_membre qui est = x On va imaginez quand à 10 membres et 5 admin.
Je voudrais savoir comment récuper les 5 admin dans la base de donné avec la requete count() le probléme c'est que j'ai plusieurs group avec des id différent.
9 réponses
Bonsoir.
Si je comprends bien, tu veux à la fois récupérer le nombre d'utilisateurs qu'il y a dans chaque groupe/rôle, mais aussi pouvoir les lister selon leur groupe à travers d'une seule requête SQL ?
Oui. Mais afficher le nombre d'utilisateurs par groupe
Salut,
c'est compliqué, j'ai beau relire, je ne comprend pas...
Essaie de reformuler cette phrase :
on a une colonne is_admin qui est un group = x et is_membre qui est = x
On va imaginez quand à 10 membres et 5 admin.
Est-ce que tu veux dire :
Pour l'exemple, disons qu'il ya dans la base de données : 10 membres, et 5 admins.
Je voudrais savoir comment récuper les 5 admin dans la base de donné avec la requete count()
Est-ce que tu veux dire que tu n'as pas vraiment besoin de récupérer les admins, mais seulement de les compter ?
le probléme c'est que j'ai plusieurs group avec des id différent.
Donne nous le nom de ta table, ainsi que tous ses champs, ça va beaucoup nous aider à comprendre.
En plus j'ai l'impression que Lartak te dit une chose, et que tu redemande la même chose xD
- Si je comprends bien, tu veux à la fois récupérer le nombre d'utilisateurs qu'il y a dans chaque groupe/rôle, mais aussi pouvoir les lister selon leur groupe à travers d'une seule requête SQL ?
- Oui. Mais afficher le nombre d'utilisateurs par groupe
Ses pas évident a expliquer.
Voila la table xf_user

Dans la table xf_user Nous avons une collone user_group_id je voudrais récuperer par exemple tout les utilisateur qui on l'id 3 sauf que à l'avenir il peuvent créer des nouveaux groupes donc on peut avoir 5 groupes. Donc je voudrais que de façons automatique cela compte le nombre d'utilisateur dans chaque groupe.
J'ai essayer de faire sa :
J'obtient sa avec un var_dump
Je voudrais donc que sa affiche le nombre d'utilisateur par groupes.
Ex :
id1 = 5 user
id2 = 2user
id3 = 3user
Ah je vois.
Je ne crois pas qu'on puisse tout faire d'un coup (si je me trompe, dites le moi)
Alors soit :
- on fait plusieurs requêtes (chacune ciblant 1 seul ID)
-
on travail un peu le tableau, que nous retourne la requête qui cible tous les IDs
Je te montre une idée pour "faire" la 2ème proposition :
$req = $this->_getDb()->fetchAssoc(' SELECT category_id FROM posts WHERE category_id IN (1, 2, 3) ');
$i = 0;
$max = count($req);
while ($i < $max)
{
$req[$i] = $req[$i]['category_id'];
$i++;
}
$nb_utilisateurs_par_group = array_count_values($req);
// j'ai essayé ça
foreach ($req as $entry)
{
$entry = $entry['category_id'];
}
// et ça
foreach ($req as $key => $value)
{
$key = $value['category_id'];
}
D'accord je vais essayer du coup
Salut il y a plus simple:
Ah ouais bien vu Balbert !
Par contre ça retourne un gros tableau un peu pénible à utiliser.
Pour en revenir à un tableau simple on peut faire un truc comme ça :