Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/12/2011, 15h25   #1
Futur Membre du Club
 
Homme olivier lebaron
Webmaster
Inscription : octobre 2007
Messages : 125
Détails du profil
Informations personnelles :
Nom : Homme olivier lebaron
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : octobre 2007
Messages : 125
Points : 18
Points : 18
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 :
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 :
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
asus02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2011, 15h31   #2
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
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 :
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
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2011, 15h55   #3
Futur Membre du Club
 
Homme olivier lebaron
Webmaster
Inscription : octobre 2007
Messages : 125
Détails du profil
Informations personnelles :
Nom : Homme olivier lebaron
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : octobre 2007
Messages : 125
Points : 18
Points : 18
merci,

j'ai donc fais :

Code :
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
asus02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2011, 15h58   #4
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
Euh, il faut remplacer age_min et age_max dans l'exemple que je t'ai donné par leurs valeurs respectives
Code :
1
2
$age_min=$_GET['rech_agemini'];
$age_max=$_GET['rech_agemax'];
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2011, 16h08   #5
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
Si BETWEEN te pose un problème tu peux aussi procéder ainsi :
Code sql :
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
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 10h09   #6
Futur Membre du Club
 
Homme olivier lebaron
Webmaster
Inscription : octobre 2007
Messages : 125
Détails du profil
Informations personnelles :
Nom : Homme olivier lebaron
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : octobre 2007
Messages : 125
Points : 18
Points : 18
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
asus02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 10h17   #7
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
Citation:
Envoyé par asus02 Voir le message
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL
Cela veut dire que mysql_query() a renvoyé FALSE, donc tu as une erreur dans la chaine SQL.
Postes la chaine sql que tu créés avec les valeurs des paramètres à l'exécution
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 10h18   #8
Futur Membre du Club
 
Homme olivier lebaron
Webmaster
Inscription : octobre 2007
Messages : 125
Détails du profil
Informations personnelles :
Nom : Homme olivier lebaron
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : octobre 2007
Messages : 125
Points : 18
Points : 18
en fait c'est bon, je ,'avais pas bien rentré mes variables :

Code :
AND age >= '.$age_mini.' AND age <= '.$age_max.'
fonctionne, merci
asus02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h21.


 
 
 
 
Partenaires

Hébergement Web