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 :

LIMIT et nombre total d'enregistrements [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut LIMIT et nombre total d'enregistrements
    Bonjour à tous.
    Bon, je ne suis pas très sur d'être la bonne cathégorie, mais la section SQL ne me semblait pas adaptée non plus ...

    Je souhaite effectuer une extraction de ma base de donnée en fonction de certains critères, et nafficher que 20 résultats par page, avec un lien vers la page suivante. J'utilise donc le LIMIT. Par contre, comment faire pour récupérer le nombre total d'enregistrements, afin d'afficher le bon nombre de pages svp ?
    J'ai bien pensé à faire un select * tout court puis un mysql_affected_rows(), puis re un select avec mon limit, mais ca me parait un peu cochon comme méthode

    Merci d'avance à vous.
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  2. #2
    Membre confirmé Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Points : 587
    Points
    587
    Par défaut
    Salut,

    Je ne vois pas trop comment tu pourrais faire d'autre. J'utiliserais cependant mysql_num_rows au lieu de mysl_affected_rows

    Si tu aimes les solutions cochonnes tu pourrais injecter le résultat de ta requête dans un tableau, compter le nombre de lignes puis afficher 20 lignes par page ça a l'avantage de ne faire qu'une seule fois la requête
    Lu kinze d' awousse, la Vierje arandje û dusbrôle lu timp.

  3. #3
    Membre éclairé
    Avatar de Kioob
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Points : 764
    Points
    764
    Par défaut
    Hello,

    perso je ferais comme ça :
    1) "select count(*)". ( bien plus rapide et moins consommateur que mysql_num_rows() ).
    2) "select xxx, xxx [...] limite N, M" pour l'affichage
    Google is watching you !

  4. #4
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    Merci beaucoup à vous deux :-)
    bon, donc comm eje le pensait, il n'existe pas de méthode 'propre'. tant pis
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  5. #5
    Membre éclairé
    Avatar de Kioob
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Points : 764
    Points
    764
    Par défaut
    Normalement le count(*) est extrèmement rapide (pour peu que tu utilises les bons index, ou bien que tu n'ais pas de clause "where").
    Et pour moi c'est justement ça la méthode "propre".

    Sinon sur un forum où je n'affichais pas le nombre de page mais juste un bouton "suivant" si besoin, je procédais ainsi : j'ajoutais "1" au nombre d'enregistrement par page ; ainsi si je voulais afficher 20 enregistrements j'en demandais 21.
    Via mysql_num_rows() (oui ici c'est adapté) je savais si j'avais plus de 20 enregistrements ou non ; et donc si je devais afficher le bouton "page suivante" ou non.
    Google is watching you !

  6. #6
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    effectivement, je vais peut être me contenter du bouton suivant, ca va m'éviter d'apporter trop de changements à mon code
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

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

Discussions similaires

  1. Calculer le nombre total d'enregistrements dans une table
    Par majudis dans le forum VBA Access
    Réponses: 3
    Dernier message: 07/01/2010, 12h02
  2. compter par type d'enregistrement en limitant le nombre total
    Par contremaitre dans le forum Langage SQL
    Réponses: 4
    Dernier message: 08/07/2008, 17h15
  3. Nombre total d'enregistrement dans un Form
    Par pleasewait dans le forum Access
    Réponses: 2
    Dernier message: 28/12/2006, 16h53
  4. [MySQL] afficher le nombre total d'enregistrements
    Par pod1978 dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 21/03/2006, 22h14
  5. Nombre Total d'Enregistrements d'une Requête d'Union
    Par sqlnet dans le forum Langage SQL
    Réponses: 5
    Dernier message: 30/12/2003, 17h12

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