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

Requêtes MySQL Discussion :

Problème requête MYSQL


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2008
    Messages : 112
    Par défaut Problème requête MYSQL
    Bonjour,

    j'ai une base de données avec 23 enregistrements et une pagination pour n'afficher que 20 résultats. J'arrive à sortir les 20 premiers avec cette requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT * FROM gramophones 
    JOIN gramophones_genre ON gramophones.GENRE = gramophones_genre.GENRE_ID 
    JOIN gramophones_pays ON gramophones.PAYS = gramophones_pays.PAYS_ID 
    WHERE gramophones.PUBLIE=1 ORDER BY RAND() LIMIT 0, 20
    Mais si je souhaite récupérer les 3 autres en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT * FROM gramophones 
    JOIN gramophones_genre ON gramophones.GENRE = gramophones_genre.GENRE_ID 
    JOIN gramophones_pays ON gramophones.PAYS = gramophones_pays.PAYS_ID 
    WHERE gramophones.PUBLIE=1 ORDER BY RAND() LIMIT 20, 20
    Je n'ai aucun résultat, et dans PHPMYADMIN j'ai le message suivant : MySQL a retourné un résultat vide (aucune ligne).

    Quelqu'un pourrait m'aider svp ? Y a il des parenthèses a mettre sur la requête ou quelque chose de ce genre ?

    D'avance un grand merci et meilleures salutations

  2. #2
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Est ce que tu voulais dire plutôt :

    Limit 20, 23, dans la deuxième requête ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2008
    Messages : 112
    Par défaut
    hello mactwist69,

    merci pour la réponse, pour la deuxième requête c'est LIMIT 20, 20 (afficher depuis la 20 ème entrée et afficher 20 résultats par page). C'est un simple système de pagination.

    ce qui est étrange, c'est qu'en mettant cette requête dans phpmyadmin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT * FROM gramophones 
    JOIN gramophones_genre ON gramophones.GENRE = gramophones_genre.GENRE_ID 
    JOIN gramophones_pays ON gramophones.PAYS = gramophones_pays.PAYS_ID 
    WHERE gramophones.PUBLIE=1 ORDER BY RAND() LIMIT 20, 20
    je n'ai aucun résultat (MySQL a retourné un résultat vide (aucune ligne)

    Mais si je met ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT * FROM gramophones 
    WHERE gramophones.PUBLIE=1 ORDER BY RAND() LIMIT 20, 20
    Phpmyadmin me sort correctement les 3 résultats... du coup je me demande si il y a pas une histoire de parenthèses à mettre ?!?

  4. #4
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Salut,

    Avant toute chose, peux tu me confirmer le point suivant:

    Lorsque tu executes cette requêtes, dans PHP MyAdmin, tu as bien 23 résultats?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT * FROM gramophones 
    JOIN gramophones_genre ON gramophones.GENRE = gramophones_genre.GENRE_ID 
    JOIN gramophones_pays ON gramophones.PAYS = gramophones_pays.PAYS_ID 
    WHERE gramophones.PUBLIE=1 ORDER BY RAND()
    Ça peut paraître bête, mais éventuellement, si tu as 3 enregistrements qui ont un Genre ou de Pays qui n'existe pas dans les tables correspondantes, alors le JOIN fait que ces lignes ne sortiront jamais.

    Ou un autre test similaire serait de remplacer JOIN par LEFT JOIN dans ta requête...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2008
    Messages : 112
    Par défaut
    effectivement, tu as raison, merci pour ton message qui m'a mis sur la voie !

    il y avait un souci au niveau d'un "genre" du coup c'était ça qui posait problème et non le LIMIT.

    Merci beaucoup pour ton aide mactwist69

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

Discussions similaires

  1. Problème requête MySql en fonction du serveur
    Par Lowbaka dans le forum Requêtes
    Réponses: 8
    Dernier message: 31/12/2010, 13h22
  2. problème requête MySql en vb 2008
    Par walid kh dans le forum VB.NET
    Réponses: 0
    Dernier message: 17/03/2010, 13h30
  3. [MySQL] Problème requête Mysql
    Par jbtz64 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 28/05/2008, 14h08
  4. Problème requête MySQL
    Par low-ik dans le forum Requêtes
    Réponses: 4
    Dernier message: 12/03/2007, 16h04
  5. Problème requête MySql & builder
    Par boopix dans le forum C++Builder
    Réponses: 19
    Dernier message: 09/03/2007, 02h04

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