|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : juin 2006 Messages : 14 ![]() |
salut à tous!!
j'ai fait un petit moteur de recherche en fonction de certain critère (dimension, echelle et indice), sous form de liste déroulante. le code : Code :
donc j'aimerais faire des recherches en fonction de 1 ou plusieurs critères la condition if (isset ($dimension) && isset($echelle),recherche pour les 2 criteres et aussi les autres condtions if(isset ($dimension)) et if(isset ($echelle)) si je cherche en fonction de l''echelle' j'ai aussi le résultat de 'indice' qui s'affiche alors que je n'ais pas demandé à faire de recherche par indice et vis à vis de mon code je ne vois pas où est le problème si vous pouvez m'aider.. merci +++++ |
||
|
|
00
|
|
|
#2 | ||
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 753 ![]() |
Pour ta question de multi critère je te dirais de prendre exemple sur la solution donné dans ce sujet : Recherche avec plusieurs critères
Et sinon pour la liste déroulante, tu as une seule ou plusieurs ?? Et pour tes tests je te conseillerais la rapidité lol : Code :
$dimension = isset($_POST['dimension'])?($_POST['dimension']):(""); Code :
qui te dira si ta variable est vide ou si elle contient quelque chose |
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : juin 2006 Messages : 14 ![]() |
oui j'ai plusieurs liste déroulante
mais isset et empty c'est pas la meme chose? enfin isset = savoir si elle existe mais si elle existe c'est qu'elle est "pleine" ? |
|
|
00
|
|
|
#4 | |
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 753 ![]() |
Donc c'est normal que tu entres dans plusieurs if si tu as plusieurs select dans un même form.
isset ca teste pour voir si elle est envoyé.Et ce peut importe son contenu puisque c'est un champ d'un formulaire. Citation:
|
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : juin 2006 Messages : 14 ![]() |
et je voulais savoir aussi comment faire pour par exemple :
je prends comme critere la dimension et l'echelle, ca me donne comme résultat ce que je veux et ayant comme dimension ce que jai demandé et comme echelle, ce que j'ai demandé et que ca ne me donne pas le résultat de la dimension choisie seule ni de l'echelle seule par exemple : 1 ==> dimension 100, echelle 1/50 2 ==> dimension 100, echelle 1/100 3 ==> dimension 100, echelle 1/50 je selectionne dimension 100 et echelle 1/50 donc comme résultats j'ai 1 et 3 mais au lieu de ça j'ai : 1 ET 3 (isset($dimension)) && (isset ($echelle)) 1, 2, ET 3 (isset($dimension)) 1 ET 3 (isset($echelle)) |
|
|
00
|
|
|
#6 |
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 753 ![]() |
Hmmmm tu peux la refaire moins vite stp
![]() J'ai pas trop compris |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : juin 2006 Messages : 14 ![]() |
huumm oki
alors il y a 3 criteres : dimension, echelle, et indice 1 ==> dimension 100, echelle 1/50 2 ==> dimension 100, echelle 1/100 3 ==> dimension 100, echelle 1/50 je fais une recherche pour les 2 criteres en meme temps (dimension et echelle) je veux rechercher pour dimension 100 ET echelle 1/50 donc j'ai comme résultat de la requete SELECT num_plan FROM plan WHERE dimension = '".$dimension."' AND echelle = '".$echelle."': 1 et 3 mais en plus j'ai le résultat de la requete SELECT num_plan FROM plan WHERE dimension = '".$dimension."' et celui de la requete SELECT num_plan FROM plan WHERE echelle = '".$echelle."' normal mais comment l'eviter? car j'aimerais faire une recherche en fonction de 1 critère, 2 ou 3 |
|
|
00
|
|
|
#8 | ||
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 753 ![]() |
ok je vois tu peux me dire quel est le critère obligatoire ? s'il y en a un
Aussi quand tu choisis pas l'un des trois critères c'est quoi la valeur par défaut ? Bon j'ai fait très simple lol (sans trop réflechir) Code :
|
||
|
|
00
|
|
|
#9 | ||
|
Invité de passage
![]() Inscription : juin 2006 Messages : 14 ![]() |
Code :
|
||
|
|
00
|
|
|
#10 | ||
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 753 ![]() |
ah ca change tout alors lol :
Code :
|
||
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : juin 2006 Messages : 14 ![]() |
VOICI les résultats que j'obtiens si je choisi comme criteres (en meme temps) dimension 100 et echelle 1/50 et je fais ce que tu me dis
==> requete dimension && echelle (1 et 2 ont la dimension 100 et l'echelle 1/50) N°1 DIM + ECHE N°2 DIM + ECHE ==> requete dimension (1 et 2 ont la dimension 100) N°1 DIM N°2 DIM ==> requete echelle (1, 2 et 5 ont l'echelle 1/50) N°1 ECHE N°2 ECHE N°5 ECHE j'ai donc 7 résultats de 3 requetes alors que je devrais en avoir que 2 de la 1ere requete avec dimension && echelle |
|
|
00
|
|
|
#12 | ||
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 753 ![]() |
ok et avec ceci :
Code :
|
||
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : juin 2006 Messages : 14 ![]() |
parce que si je choisis les 2 criteres dimension et echelle, donc dimension et echelle sont renseignés ce qui provoque forcement les requetes SELECT num_plan FROM plan WHERE dimension = '".$dimension."' et SELECT num_plan FROM plan WHERE dimension = '".$echelle."'
:s |
|
|
00
|
|
|
#14 |
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 753 ![]() |
Tu as testé le dernier code ?
|
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Inscription : juin 2006 Messages : 14 ![]() |
bon, ça marche mais pas vraiment
en faites j'arrive donc à n'avoir que le resultat pour les 2 criteres en meme temps mais si je cherche avec seulement l'echelle et seulement la dimension ça ne me donne pas de résultats ... :s |
|
|
00
|
|
|
#16 | ||
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 753 ![]() |
bon on va tester un truc :
Code :
|
||
|
|
00
|
|
|
#17 |
|
Invité de passage
![]() Inscription : juin 2006 Messages : 14 ![]() |
yes té un boss KEROD
jte fais un bisou pour la peine lol en tout cas j'avoue que c'est bien pensé !! merci beaucoup d'avoir donné un peu de ton temps pour m'aider |
|
|
00
|
|
|
#18 |
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 753 ![]() |
De rien, mais j'avais remarqué la petite erreur depuis l'autre code donc c'est pas un exploit
Sinon moi je vais retour sur mon C# lol
|
|
|
00
|
|
|
#19 |
|
Invité de passage
![]() Inscription : juin 2006 Messages : 14 ![]() |
mais si!! tu es fort c'est tout !!
bon courage avec le C |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com