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 :

Afficher de ID à ID [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 48
    Par défaut Afficher de ID à ID
    Bonjour à tous.

    Voila, je cherche maintenant depuis plus de 20mn et je n'arrive pas à trouver comment afficher les entrés dont les ID sont numéroté de X à Y
    Comme, par exemple, afficher la page des membres et il y a plusieurs pages car trop de membres. Donc, j'aimerais affichier de l'ID X à Y... Mais impossible.

    Voilà ce que j'ai essayé mais ca ne rend pas DU TOUT ce que je veux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql_query("SELECT * FROM membre ORDER BY ID DESC LIMIT 30, 40");

    Merci de votre aide, bonne soirée

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    LIMIT sert a obtenir un nombre d'enregistrements.

    LIMIT 30,11 te donne potentiellement les enregisrements de 30 à 40 si tu n'as pas de trous dans ta numerotation, ira plus loin s'il manque des elements.

    Si tu veux absolument de 30 à 40 il faut faire un WHERE id >29 AND id < 41
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    J'aurais plutôt utilisé BETWEEN, mais cela reviens au même.

  4. #4
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut
    Bonsoir,

    Oui, cela revient au même au niveau du résultat mais il est préférable d'utiliser between en ce cas.

    Cependant, ces valeurs ne seront pas fixe je suppose. En ce cas,
    $debut et $fin

    (histoire d'éviter la prochaine question )
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 48
    Par défaut
    Citation Envoyé par sabotage Voir le message
    LIMIT sert a obtenir un nombre d'enregistrements.

    LIMIT 30,11 te donne potentiellement les enregisrements de 30 à 40 si tu n'as pas de trous dans ta numerotation, ira plus loin s'il manque des elements.

    Si tu veux absolument de 30 à 40 il faut faire un WHERE id >29 AND id < 41
    Ok, merci du renseignement.
    Mais une question me trote dans la tête...

    Quand je marque LIMIT 46, 69 il me sors 70 enregistrements.
    J'affirme qu'il y a parfois des trous dans mes IDs ( 1, 2, 3, 5, 6, 10, ... )
    C'est pour ca que ca marche pas trop ...

    Est-ce normal ?

  6. #6
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    As-tu essayer la requête avec BETWEEN ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 48
    Par défaut
    Oui

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql_query("SELECT * FROM shoutbox ORDER BY ID DESC BETWEEN id > 29 AND id < 41 ");
    Mais j'ai une erreur.
    Je viens de la mettre.

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Le ORDER c'est apres le WHERE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql_query("SELECT * FROM shoutbox WHERE id BETWEEN 29 AND 41 ORDER BY ID DESC ");
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Citation Envoyé par Yukiz Voir le message
    Oui

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql_query("SELECT * FROM shoutbox ORDER BY ID DESC BETWEEN id > 29 AND id < 41 ");
    Mais j'ai une erreur.
    Je viens de la mettre.
    Arrgh, qu'est-ce que c'est que cette requête ! Quand on te donne une astuce, c'est pas du tout cuit et ça ne doit pas t'empêcher d'aller voir la syntaxe exacte !

    Et j'ajouterais

  10. #10
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut
    Citation Envoyé par sabotage Voir le message
    LIMIT sert a obtenir un nombre d'enregistrements.

    LIMIT 30,11 te donne potentiellement les enregisrements de 30 à 40 si tu n'as pas de trous dans ta numerotation, ira plus loin s'il manque des elements.

    Si tu veux absolument de 30 à 40 il faut faire un WHERE id >29 AND id < 41
    Citation Envoyé par Yukiz Voir le message
    Ok, merci du renseignement.
    Mais une question me trote dans la tête...

    Quand je marque LIMIT 46, 69 il me sors 70 enregistrements.
    J'affirme qu'il y a parfois des trous dans mes IDs ( 1, 2, 3, 5, 6, 10, ... )
    C'est pour ca que ca marche pas trop ...

    Est-ce normal ?
    Oui si tu as lu le post de Sabotage.

    46, le rang de départ, 69, le nombre d'enregistrements que tu afficheras.
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

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

Discussions similaires

  1. afficher du texte
    Par Mau dans le forum OpenGL
    Réponses: 10
    Dernier message: 24/06/2003, 15h31
  2. Réponses: 6
    Dernier message: 10/09/2002, 03h35
  3. Copier et afficher une copie d'ecran
    Par Bobx dans le forum Langage
    Réponses: 6
    Dernier message: 02/08/2002, 22h20
  4. Afficher/Masquer un bouton comme IE 6
    Par benj63 dans le forum C++Builder
    Réponses: 3
    Dernier message: 29/07/2002, 13h12
  5. Réponses: 2
    Dernier message: 10/06/2002, 11h03

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