01cod10
Messages postés110Date d'inscriptionmardi 30 août 2005StatutMembreDernière intervention13 août 2007
-
7 sept. 2005 à 13:19
asmaneffati -
29 mars 2011 à 12:04
J'aimerai afficher la liste de tous les membres ayant comme sexe femme dont l'age est compris entre 30 et 35 et une photo
je sais que je dois utiliser cette requete mais comment le faire je ne sais pas car l'age est une liste déroulante de cette sorte
18-24
25-29
30-35
etc
SELECT * FROM table WHERE (datenaissance BETWEEN 30 AND 35) AND
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 8 sept. 2005 à 14:27
Mopi je dirais plutôt :
$requete = "SELECT
datenaissance,jesuis,pseudo,ville,pays FROM Table where (((extract( year
FROM now( ) ) - EXTRACT( YEAR FROM datenaissance)) BETWEEN $age AND
$age1) AND jesuis='$jesuis' AND pays='$pays'";
01cod10
Messages postés110Date d'inscriptionmardi 30 août 2005StatutMembreDernière intervention13 août 2007 7 sept. 2005 à 13:41
ok pour ça mais mon probleme est que l'utilisateur à un choix dans une liste sexe ( femme ou homme) et le datenaissance (18-24,25-29,30-35 etc).
si je fais comme tu m'as dit j'aurai pas de réponse quand l'utilisateur choisira datenaissance entre 25 et 29 et sexe=homme
01cod10
Messages postés110Date d'inscriptionmardi 30 août 2005StatutMembreDernière intervention13 août 2007 7 sept. 2005 à 15:12
Excusez moi je crois que je m'explique mal
ma table contient un champ datenaissance sous cette forme aaaa/mm/jj
voici le script que l'utilisateur utilisera
01cod10
Messages postés110Date d'inscriptionmardi 30 août 2005StatutMembreDernière intervention13 août 2007 7 sept. 2005 à 17:07
Si je comprends bien tu parles de l'intervalle entre les dates de naissance je prends 4ans alors
exemple
18-22
23-27
28-32
33-37
38-42
43-47
48-52
53 et plus
sinon franchement je ne vois pas ce qu'il faut faire
aurelien0306
Messages postés181Date d'inscriptionjeudi 27 février 2003StatutMembreDernière intervention 2 mars 2009 7 sept. 2005 à 23:42
salut :
ta requête est "évidemment" incorrecte dans la mesure ou la date de
naissance est au format date aaaa-mm-jj et tu lui demandes de "rentrer"
dans un intervalle entier... Il faut donc que tu calcule l'age pour
pouvoir le comparer à l'intervalle. une méthode (qui compte l'age en
fonction de l'année de naissance : donc si nous sommes en janvier 2005,
une personne née le 26 décembre 1983 aura donc 22a (alors que
théoriquement elle ne les a pas encore.. a toi de voir c'est un
détail..)
donc le début du where de ta requete devrait ressembler à :
where (extract( year FROM now( ) ) - EXTRACT( YEAR FROM dateinscr ) BETWEEN $age1 AND $age2)....
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
$requete = "SELECT datenaissance,jesuis,pseudo,ville,pays FROM Table where ((extract( year FROM now( ) ) - EXTRACT( YEAR FROM datenaissance) BETWEEN $age AND $age1) AND jesuis='$jesuis'";
$result = mysql_query($requete,$link) or die ('Erreur : '.mysql_error() );
01cod10
Messages postés110Date d'inscriptionmardi 30 août 2005StatutMembreDernière intervention13 août 2007 8 sept. 2005 à 14:17
cool j'ai trouvé. Effectivement c'est cela qui est la cause merci.
J'ai un autr problème sur la requete je veux ajouter une autre condition
$requete = "SELECT datenaissance,jesuis,pseudo,ville,pays FROM Table where ((extract( year FROM now( ) ) - EXTRACT( YEAR FROM datenaissance) BETWEEN $age AND $age1) AND jesuis='$jesuis' AND pays='$pays'";
01cod10
Messages postés110Date d'inscriptionmardi 30 août 2005StatutMembreDernière intervention13 août 2007 8 sept. 2005 à 14:51
ça marche. j'ai fais quelque chose dans ma table et j'aimerai avoir votre avis la dessus.
Lorsque l'utilisateur n'envoie pas de photo mon script j'upload une image sur laquelle il y a pas de photo. Cette photo apparait dans ma galerie photo. je ne sais si c'est bien de procéder comme cela?