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

Langage PHP Discussion :

requete selection par age


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Octobre 2007
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Octobre 2007
    Messages : 130
    Par défaut requete selection par age
    bonjour, j'essaie de créer une requete pour afficher les membres par tranche d'age mais je n'y arrive pas, avec un age fixe ca fonctionne mais je souhaite faire une selection par tranche d'age.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $reponse = mysql_query('SELECT * FROM membres where departement='.$dep.' and sexe='.$genre.' and age='.$age_max.' ORDER BY id,age desc LIMIT '.$from.', '.$limit_par_page);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $age_mini=$_GET['rech_agemini'];
    $age_max=$_GET['rech_agemax'];
    en fait le but etant de selctionner le membres de tel departement, de tel genre (homme, femme) et de tel age a tel age.

    tout le reste fonctionne sauf cette histoire d'age
    merci

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Bonjour,

    La clause LIMIT du SQL ne sert qu'à limiter le nombre d'enregistrements retournés, dans ton cas tu dois utiliser WHERE
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT * 
    FROM membres 
    WHERE departement='dep' 
       AND sexe='genre' 
       AND age BETWEEN age_min AND age_max 
    ORDER BY 
       id, age

  3. #3
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Octobre 2007
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Octobre 2007
    Messages : 130
    Par défaut
    merci,

    j'ai donc fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $reponse = mysql_query('SELECT * FROM membres where departement='.$dep.' and sexe='.$genre.'  AND age BETWEEN age_min AND age_max  ORDER BY id,age desc LIMIT '.$from.', '.$limit_par_page);
    et j'ai une erreur :

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL

  4. #4
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Euh, il faut remplacer age_min et age_max dans l'exemple que je t'ai donné par leurs valeurs respectives
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $age_min=$_GET['rech_agemini'];
    $age_max=$_GET['rech_agemax'];

  5. #5
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Si BETWEEN te pose un problème tu peux aussi procéder ainsi :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT * 
    FROM membres 
    WHERE departement='dep' 
       AND sexe='genre' 
       AND age >= age_min 
       AND age_max <= age_max
    ORDER BY 
       id, age

  6. #6
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Octobre 2007
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Octobre 2007
    Messages : 130
    Par défaut
    merci, j'ai donc testé et j'ai tjr cette erreure .

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL

    je precise que l'age n'est pas une date dans la bdd mais un chiffre en dur.

    merci

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

Discussions similaires

  1. Limitation par rapport à la requete "SELECT"
    Par tizilfin dans le forum JDBC
    Réponses: 29
    Dernier message: 05/11/2009, 13h31
  2. Réponses: 5
    Dernier message: 10/12/2007, 16h24
  3. PhpmyAdmin > Modifier la requete Select par défaut
    Par Septentrio dans le forum Outils
    Réponses: 0
    Dernier message: 24/07/2007, 12h58
  4. requete select: calcul d'age
    Par amelhajer dans le forum Langage SQL
    Réponses: 1
    Dernier message: 29/03/2007, 11h14
  5. Réponses: 1
    Dernier message: 13/04/2005, 15h41

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