IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Comptage des lignes de la réponse à un select : cas où count(*) ne marche pas [PDO]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut Comptage des lignes de la réponse à un select : cas où count(*) ne marche pas
    Bonsoir,

    dans le cas d'une requête select simple, c'est facile :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $sql = "SELECT COUNT(*) AS compte FROM `nom_table`";
    $qid = $pdo->query($sql);
    $row=$qid->fetch(PDO::FETCH_OBJ);
    $num=$row->compte;

    mais dans le cas où on ne lit que certains champs $sql="SELECT champ1,champ2,COUNT(*) AS compte FROM `nom_table`";
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $qid = $pdo->query($sql);
    $row=$qid->fetch(PDO::FETCH_OBJ);
    $nrows=$row->compte;
    retourne un résultat différent de
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $sql="SELECT champ1,champ2 FROM `nom_table`";
    $num=0;
    $qid = $pdo->query($sql);
    while( $ligne=$qid->fetch(PDO::FETCH_OBJ) ) $num++;
    y a-t-il mieux que la 2e solution ?

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506

  3. #3
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Pour un select, je crois qu'il faut éviter rowcount :
    Si la dernière requête SQL exécutée par l'objet PDOStatement associé est une requête de type SELECT, quelques bases de données retourneront le nombre de lignes retournées par cette requête. Néanmoins, ce comportement n'est pas garanti pour toutes les bases de données et ne devrait pas être exécuté pour des applications portables.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Utilise rowCount.


    C'est toujours mieux que ta 2ème solution... ridiculement fausse.

  5. #5
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Qu'est-ce qu'elle a de fausse ? En fait, dans mon code, dès qu'il y a une boucle avec des fetch, je l'utilise (en plus du cas cité ci-dessus), donc si elle n'est pas bonne, j'aimerais savoir pourquoi...

  6. #6
    Invité
    Invité(e)
    Par défaut
    Je résume :

    COMPTER ou LISTER, il faut choisir.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PDO] comptage des lignes retournées par une requête SELECT un peu complexe
    Par laurentSc dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/02/2015, 21h37
  2. requete select count ne marche pas
    Par serna dans le forum Langage
    Réponses: 2
    Dernier message: 11/03/2013, 12h07
  3. Tri et comptage des lignes
    Par kimikou dans le forum Langage
    Réponses: 9
    Dernier message: 17/07/2012, 16h18
  4. l'ordre des lignes dans un Select
    Par comment_ca dans le forum Oracle
    Réponses: 15
    Dernier message: 05/10/2006, 11h08
  5. [VBA]comptage de lignes en fonction du contenu des cellules
    Par calimero91 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 22/12/2005, 11h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo