Résolu Requete count()

Rémi C

Premium
Inscription
11 Novembre 2014
Messages
149
Réactions
7
Points
13 751
RGCoins
25
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.
 
Salut,

Est-ce que tu peux nous montrer les schema de ta base de donne afin de t'aider a faire ta requete ?

Bonne soiree,
AwH.
 
Avec la colonne user_group_id

46111861e0ff7374721afcd8a2ed2a21.png


Récupérer le nombres utilisateur qu'on l'id 3
 
PHP:
SELECT COUNT(*)
FROM table
WHERE user_group_id IN (3, 2, 1)

Après tu remplaces par tes IDs
Peut t'on faire pareil après un explode() ? car l'id sans transmis via une options et aprés je fait un explode() pour séparé les id je pourrais donc faire la requete avec la variable qui stocke l'explode() ?

PHP:
$id_group = $option->group_id;
$id_groups = explode('/', $id_group);

et alors tu dit que tu veu recup que les admin ta bien que 1 seul id qui est = a celui de l'admin
Désoler je me suis mal exprimé
 
Peut t'on faire pareil après un explode() ? car l'id sans transmis via une options et aprés je fait un explode() pour séparé les id je pourrais donc faire la requete avec la variable qui stocke l'explode() ?

PHP:
$id_group = $option->group_id;
$id_groups = explode('/', $id_group);


Désoler je me suis mal exprimé
Ton explode() n'a absolument rien à voir avec le SQL... Il faut mieux t'exprimer et expliquer tout.

Tu récupères une option c'est tout...
 
Oui mais les groupes d'utilisateur ce trouve dans le explode donc autant l'utilisé pour récuperer le nombre d'utilisateur dans les différents groupes peut tu m'expliquez comment marche le

PHP:
$this->fetchAllKeyed()

Car j'ai vu que des personne utilisais sa avec un explode()
 
Oui mais les groupes d'utilisateur ce trouve dans le explode donc autant l'utilisé pour récuperer le nombre d'utilisateur dans les différents groupes peut tu m'expliquez comment marche le

PHP:
$this->fetchAllKeyed()

Car j'ai vu que des personne utilisais sa avec un explode()
Regarde des exemples ;)
C'est très proche du : $this->_getDb()->fetchAll()
 
Regarde des exemples ;)
C'est très proche du : $this->_getDb()->fetchAll()
J'ai fais ceci :

PHP:
public function CountUserInGroup(array $ids)
    {
        return $this->fetchAllKeyed('
        SELECT COUNT(user_group_id)
        from xf_user AS user
        WHERE user.user_group_id IN ('. $this->_getDb()->quote($ids) .')'
            , 'user_group_id');
    }

Mais cela m'affiche sa :

Code:
array (size=1)
  1 =>
    array (size=1)
      'COUNT(user_group_id)' => int 0
 
J'ai fais ceci :

PHP:
public function CountUserInGroup(array $ids)
    {
        return $this->fetchAllKeyed('
        SELECT COUNT(user_group_id)
        from xf_user AS user
        WHERE user.user_group_id IN ('. $this->_getDb()->quote($ids) .')'
            , 'user_group_id');
    }

Mais cela m'affiche sa :

Code:
array (size=1)
  1 =>
    array (size=1)
      'COUNT(user_group_id)' => int 0
PHP:
public function CountUserInGroup(array $ids)
{
    return $this->_getDb()->fetchOne('
        SELECT COUNT(*)
        FROM xf_user
        WHERE user_group_id IN (' . $this->_getDb()->quote($ids) . ')
    ');
}
 
Retour
Haut