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 :

Compter les resultats d'une requetes malgr� un LIMIT. [MySQL]


Sujet :

PHP & Base de donn�es

  1. #1
    Membre confirm�
    Inscrit en
    F�vrier 2006
    Messages
    197
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2006
    Messages : 197
    Par d�faut Compter les resultats d'une requetes malgr� un LIMIT.
    Bonjour,

    J'ai une requete avec un systeme de gestion page par page donc j'utilise la "clause" LIMIT dans cette requete.

    Cependant, je souhaiterais pouvoir compter le nombre de resultats de cette requete sans tenir compte du limit. C'est possble ?

    Sinon suis-je obliger de refaire une 2eme fois la meme requete avec un count ?

    MERCI de votre aide.

  2. #2
    Membre exp�riment�

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par d�faut
    Non ce n'est pas n�cessaire de faire une deuxi�me requ�te : la fonction mysql_num_rows peut �galement le faire. Exemple :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $query = mysql_query('SELECT * FROM ma_table WHERE ... LIMIT ...;');
    // Nombre de résultats
    $nb = mysql_num_rows($query);
    echo "Il y a $nb résultats";
    // Traitement des lignes
    while ($array = mysql_fetch_assoc($query)) {
        // ...
    }
    Elle existe aussi sous le nom de mysqli_num_rows pour les utilisateurs de l'extension mysqli.


    Julp.

  3. #3
    Membre confirm�
    Inscrit en
    F�vrier 2006
    Messages
    197
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2006
    Messages : 197
    Par d�faut
    J'ai cru avoir test� cela, mais ca m'affiche le nombre qu'il y a avait dans le LIMIT.
    Je vais retester.

    Merci

  4. #4
    Membre confirm�
    Inscrit en
    F�vrier 2006
    Messages
    197
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2006
    Messages : 197
    Par d�faut
    Voila ma requete :

    SELECT id_artist FROM artistes WHERE auth = 1 AND nb_image > 0 ORDER BY vus DESC LIMIT 0,10

    le 0,10 evolue (affichage page par page...) : 0,10 puis 10,20, puis 20,30 ...

    mysql_num_rows() me renvoie toujours 10

  5. #5
    Membre exp�riment�

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par d�faut
    J'avais compris le contraire (cf m�me requ�te dans votre post). Il vous faut effectivement une requ�te suppl�mentaire faisant appel � la fonction d'aggr�gation COUNT.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $query = mysql_query('SELECT COUNT(*) FROM ma_table;');
    $array = mysql_fetch_row($query);
    $nb = $array[0];
    echo "Il y a $nb résultats";
     
    $query = mysql_query("SELECT * FROM ma_table WHERE ... LIMIT ...;");
    while ($array = mysql_fetch_array($query)) {
        // ...
    }
    C'est gu�re plus lourd ainsi.


    Julp.

  6. #6
    Membre confirm�
    Inscrit en
    F�vrier 2006
    Messages
    197
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2006
    Messages : 197
    Par d�faut
    we dommage ...

    Je vais donc copier-coller le WHERE... et faire un beau count...

    C'est bete, que le limit ecrase le truc

  7. #7
    Membre �m�rite Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Par d�faut
    Salut

    J'avais d�j� post� un script � ce sujet....� adapter selon ses besoins.
    Peut-�tre pourrais-tu t'en inspirer ?
    C'est hyper simple � tester d�s lors que tu as install� la table.

    A toi de voir

    ==>>Pagination

  8. #8
    Membre confirm�
    Inscrit en
    F�vrier 2006
    Messages
    197
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2006
    Messages : 197
    Par d�faut
    merci mais c'est bon, le principe de la pagination je l'ai, c'etait juste le comptage du total. Je voulais eviter d'avir 2 requetes, c'est tout

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. modifier les resultats d'une requete SQL
    Par billyboy dans le forum Requ�tes et SQL.
    R�ponses: 1
    Dernier message: 30/05/2006, 06h22
  2. [MySQL] mettre les resultats d'une requete dans un select
    Par Ludo75 dans le forum PHP & Base de donn�es
    R�ponses: 8
    Dernier message: 18/01/2006, 16h19
  3. afficher les resultats d'une requete mysql sur 3 colonnes
    Par harlock59 dans le forum Requ�tes
    R�ponses: 7
    Dernier message: 24/12/2005, 14h38
  4. [debutant]compter les resultat d'une requete
    Par christophebmx dans le forum MS SQL Server
    R�ponses: 4
    Dernier message: 20/02/2005, 17h11
  5. [VB.NET] Compter les enregistrements d'une requete
    Par leSeb dans le forum Windows Forms
    R�ponses: 2
    Dernier message: 21/10/2004, 18h46

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