Requete MYsql

Fermé
gaetan24 Messages postés 8 Date d'inscription mercredi 31 janvier 2007 Statut Membre Dernière intervention 5 avril 2007 - 3 avril 2007 à 17:42
Stringman621 Messages postés 1308 Date d'inscription mardi 13 décembre 2005 Statut Membre Dernière intervention 1 septembre 2012 - 6 avril 2007 à 13:30
Me revoila!!

je suis encore perdu je voudrai juste savoir comment faire pour faire une requete incluant plusieur champs!!
j'ai bien chercher esayer avec UNION ou des sous requete mais je ne m'en sors pas!!
en fait la personne rempli un formulaire de recherche avec l'age compris entre '$rechage1' et '$rechage2'
la ville, '$rechville' et le code postale '$rechcp'
je recuper mon formulaire par le code :
@$rechage1=$_POST['age1'];
@$rechage2=$_POST['age2'];
@$rechville=$_POST['viller'];
@$rechcp=$_POST['cpr'];

et ensuite cela devient plus complexe car pour l'age j'ai tenté en autre :
$recherche=mysql_query("SELECT * FROM ".PREFIXE."membres WHERE age='$rechage1' AND age='$rechage2' <'$rechage2'") or die (mysql_error());
ca ne marche pas
j'ai essayuer avec OR ou AND mais en faite il ne prend en compte jamais les champs au meme stade!!
en faite je suis assez debutant alors si vous pouvier me donner un coup de pusse ca serait super!!
merci d'avance!!

1 réponse

Stringman621 Messages postés 1308 Date d'inscription mardi 13 décembre 2005 Statut Membre Dernière intervention 1 septembre 2012 338
3 avril 2007 à 23:35
Salut a toi !

Je pense que ce que tu souaite faire c'est ca :

$req = "SELECT * FROM TATABLE
WHERE age BETWEEN '".$rechage1."' AND '".$rechage2."'
AND ville LIKE '".$ville."%';

Dis moi si ca te va et si ta d'autres questions n'hésite pas

Tchô!
0
merci bcp !!
mais il me manque qqch !!
si je peu me permettre comme tu me la si gentillement proposé!!!!!
enfait je voudrai que si une personne rentre la tranche d'age et la ville ca marche mais que si elle veut faire une recherche seulementpar code postal ca fonctionne aussi!!!
car en fait la requete ne fonctionne pas si je ne rentre pas la tranche d'age!!!!
MErci d'avance de ta reponse!!
gaetan
0
Stringman621 Messages postés 1308 Date d'inscription mardi 13 décembre 2005 Statut Membre Dernière intervention 1 septembre 2012 338
4 avril 2007 à 22:54
Pour faire ca il faut construire ta requete, je m'explique en code :

$req = "SELECT * FROM TaTable ";

//-- Cette ligne peut paraitre inutile mais elle evite d'avoir des problèmes de savoir si la clause WHERE a déjà été inserer dans la requete
$req .= "WHERE 1=1 ";

//Si les variables $rechage1 et $rechage2 sont renseignées alors tu l'ajoute a la requete
if(!(empty($rechage1) && !(empty($rechage2)))
  $req .= "AND age BETWEEN '".$rechage1."' AND '".$rechage2."' ";

//Si la variable $ville est renseignée alors tu l'ajoute a la requete
if(!(empty($ville))
  $req .= "AND ville LIKE '".$ville."%'";

//Si la variable code postal est renseignée alors tu l'ajoute a la requete
if(!(empty($cpr))
  $req .= "AND cp LIKE '".$cpr."%' ";

//-- Pour conclure la requete
$req .= ";";



Voila ce que je te propose, il se peut qu'il y est des horreurs lol, mais je viens de faire ca un peu a l'arrache sans le tester.
Mais en gros, tu doit procéder comme ca afin de faire ce que tu veut.

Tchô !
0
gaetan24 Messages postés 8 Date d'inscription mercredi 31 janvier 2007 Statut Membre Dernière intervention 5 avril 2007 1 > Stringman621 Messages postés 1308 Date d'inscription mardi 13 décembre 2005 Statut Membre Dernière intervention 1 septembre 2012
4 avril 2007 à 23:44
merci bcp de ton aide!!
je v m'attarder sur cette composition!!
si je peux encore me peremttre de te faire chier je voulais savoir si tu savais, sur un autre pb!!!, comment faire pour que ur ma liste deroulante s'affiche le choix precedant inscrit dans une base de donnée quand un utilisateur veut changer son profil!!!
j'y suis parvenu pour les zone texte mais patoge un peu pour les liste deroulante!!!
mon code de liste est :
<tr><td bgcolor='#D9D9D9' align='left'><div align='left'><font size =1 color ='#090c22'><i>Votre choix :</i></font color></div></td>
<td bgcolor='#D9D9D9'><div align='left'><select name='choix_mod' id='choix_mod'>
<option value='...' selected <?php if ($choixm) {echo 'SELECTED';} ?>...
<option value='111' <?php if ($choixm) {echo 'SELECTED';} ?>111
<option value='222' <?php if ($choixm) {echo 'SELECTED';} ?>222</select></div></td>

ce n'est pas une obligation!!! c au cas ou!!! loool
j'abuse je sais mais bon !!!
en tout cas merci d'avance et un grand merci pour tes reponses precedente:!!!
gaetan
0
Stringman621 Messages postés 1308 Date d'inscription mardi 13 décembre 2005 Statut Membre Dernière intervention 1 septembre 2012 338 > Stringman621 Messages postés 1308 Date d'inscription mardi 13 décembre 2005 Statut Membre Dernière intervention 1 septembre 2012
4 avril 2007 à 23:53
Re l'emmerdeur ! loool

Si je comprend bien ce que tu souhaite faire c'est de positionner ta liste déroulante sur le choix de l'utilisateur, je m'explique :

Exemple :

Dans la base de données
Utilisateur : toto, Choix : b

Si ta une liste déroulante qui contient : a, b et c; tu veux que lorsqu'il va sur une page de modification cette liste se positionne sur "b"

C'est bien ca ?
0
gaetan24 Messages postés 8 Date d'inscription mercredi 31 janvier 2007 Statut Membre Dernière intervention 5 avril 2007 1 > Stringman621 Messages postés 1308 Date d'inscription mardi 13 décembre 2005 Statut Membre Dernière intervention 1 septembre 2012
5 avril 2007 à 00:03
l'emerdeur : oui c bien ca!!!!

merci bcp !!!
0