PHP Comment savoir le nombre de reponse MYSQL
spylller
Messages postés
395
Date d'inscription
Statut
Membre
Dernière intervention
-
spylller Messages postés 395 Date d'inscription Statut Membre Dernière intervention -
spylller Messages postés 395 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je voudrais savoir comment compter le nombre de reponse il y a à une requete.
Par exemple que je fasse :
SELECT * FROM utilisateurs WHERE departement = :departement
Et qu'en retour j'ai 8 par exemple.
(j'avais pensé a une "for each" et incrementation à chaque fois mais c'est lourd)
Merci !
Je voudrais savoir comment compter le nombre de reponse il y a à une requete.
Par exemple que je fasse :
SELECT * FROM utilisateurs WHERE departement = :departement
Et qu'en retour j'ai 8 par exemple.
(j'avais pensé a une "for each" et incrementation à chaque fois mais c'est lourd)
Merci !
A voir également:
- PHP Comment savoir le nombre de reponse MYSQL
- Réponse automatique thunderbird - Guide
- Nombre de jours entre deux dates excel - Guide
- Réponse automatique gmail - Guide
- Easy php - Télécharger - Divers Web & Internet
- Nombre facile - Télécharger - Outils professionnels
4 réponses
Bonjour,
Tu peux utiliser COUNT :
https://sql.sh/fonctions/agregation/count
Tu peux utiliser COUNT :
https://sql.sh/fonctions/agregation/count
SELECT COUNT (*) FROM utilisateurs WHERE departement = :departement
Bonjour
Vu que tu es en pdo... tu fais ta requête normale en sélect *
Puis tu fais un fetchAll
Et un count (php) dessus
Vu que tu es en pdo... tu fais ta requête normale en sélect *
Puis tu fais un fetchAll
Et un count (php) dessus
La solution proposée par Crapoulou fonctionne aussi. (après ça dépend si tu veux uniquement connaitre le nombre.. ou si tu veux aussi pouvoir afficher les lignes concernées)
les codes seraient :
Avec le nombre uniquement :
Deuxième possibilité ...avoir le nombre de résultats... + les résultats
les codes seraient :
Avec le nombre uniquement :
$sql = "SELECT COUNT(*) as NB FROM comptes WHERE id = :id "; $datas = array(':id'=>$id) ; try{ $req = $bdd->prepare($sql); $req->execute($datas); }catch(Exception $e){ echo "Erreur ! " . $e->getMessage(); } // Première solution en utilisant un fetch $row = $req->fetch(); $nb = $row['NB']; // deuxième solution utilisant directement un fetchColumn $nb = $req->fetchColumn()
Deuxième possibilité ...avoir le nombre de résultats... + les résultats
$sql = "SELECT * FROM comptes WHERE id = :id "; $datas = array(':id'=>$id) ; try{ $req = $bdd->prepare($sql); $req->execute($datas); }catch(Exception $e){ echo "Erreur ! " . $e->getMessage(); } //on stocke les resultats dans un array $resultats = $req->fetchAll(); // Nombre de résultats $nb = count($resultats); //affichage des résultats : if(!empty($resultats)){ foreach($resultats as $R){ print_r($R); } }
Et je retrouve le nombre comme ca : ?
$req = $bdd->prepare('SELECT COUNT * FROM comptes WHERE id = :id');
$req->execute(array('id'=>$id));
$nombre = $req->fetch();
Je n'ai pas toutes les subtilités du PHP en tête :-)