inssetman
Messages postés11Date d'inscriptionlundi 12 janvier 2004StatutMembreDernière intervention18 mars 2004
-
26 févr. 2004 à 09:12
yakou32
Messages postés32Date d'inscriptiondimanche 14 mars 2004StatutMembreDernière intervention 3 avril 2015
-
22 avril 2004 à 16:41
bonjour ! je dois réaliser un moteur de recherche multicritères et j'ai une petite interrogation : voilà les critères d emon moteur s'afficheront sous ofrme de formulaire mais il se peut que le monsieur qui l'utilise ne remplisse pas tout les cirtères !! alors comment je dois faire dans mes requêtes pour gérer le fait que un des champs peut etre laisser à vide ?? merci d'avance
inssetman
Messages postés11Date d'inscriptionlundi 12 janvier 2004StatutMembreDernière intervention18 mars 2004 27 févr. 2004 à 09:18
hummppff merci mais ca m'aidepas vraiment je m'explqiue mieux : pour faire une recherche on peut la faire sur 7 critères définies par des listes déroulantes qui sont remplies par des requetes sur les tables correspondates dans la base. et bon on peut dire que le monsieur qui fait sa recherche il ne veut la faire que sur 4 ,3 ou 2 des 7 critères. alors je vois pas comment va se présenter ma requetes avec tout ca moi :-(
davwart
Messages postés855Date d'inscriptionmardi 19 novembre 2002StatutMembreDernière intervention28 juillet 20091 27 févr. 2004 à 09:25
qu'est ce qui va te permettre concretement de savoir sur combien de criteres le gars veut faire sa recherche?
dans ta liste deroulante, y'a un item de pré-sélectionné?
ou alors y'a des checkbox a cocher pour utiliser un critére??
-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
davwart
Messages postés855Date d'inscriptionmardi 19 novembre 2002StatutMembreDernière intervention28 juillet 20091 27 févr. 2004 à 11:33
ben avec ton truc à "balnc", tu peux tester sir chaque menu déroulant a ton texte a blanc ou pas.. si oui , tu l'inclus pas ds ta requete, si non, tu l'inclus ;)
-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
inssetman
Messages postés11Date d'inscriptionlundi 12 janvier 2004StatutMembreDernière intervention18 mars 2004 27 févr. 2004 à 11:54
attends j'ai une tit idée du truc. bon on dis que j'utlise mes blancs. je teste chaque menu. du genre
//test des menus à blanc ou non
if($menu1) //dc la je dis si menu à blanc
$listemenu=false
oué mé là après je vois pas comment ca va donné niveau code va falloir utiiser des for each non ? pour chaque truc pas à faux je les inclus dans ma requete non ?? mais là c un peu trop chô pr moi si tu peux dvlpt une partie du code ou alors une autre voie de recherhce ca seré cool ! merci
davwart
Messages postés855Date d'inscriptionmardi 19 novembre 2002StatutMembreDernière intervention28 juillet 20091 27 févr. 2004 à 12:34
partons du principe que tu sais si l'utilsiateur faire un recherche suivant le critere X grave au tableau is_used[] qui contient le symbol % si le xieme critere n'est pas utilisé, ou la valeur du critere sinon.
il te suffit alors de faire:
$mysql_query("select * from moteur where critere1 like '$is_used[0]' and critere2 like 'is_used[1]' ....) // jusqu'au nombre de criteres.
donc en gros, si ton critereX n'est pas utlisé ça te fera: where critereX='%' (c'est l'element 'joker' de myslq -> il 'nen tiendra donc pas compte.)
-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
inssetman
Messages postés11Date d'inscriptionlundi 12 janvier 2004StatutMembreDernière intervention18 mars 2004 27 févr. 2004 à 13:57
alors si j'ai bien compris par rapport à mes listes déroulantes là. on dit que j'ai 7 listes déroulantes, donc 7 critères is_used. je fais
<select name="is_used[0]">Choix : //donc ca c ma liste 1 et je "recopie" 7 fois cette liste en changeant le numéro de is_used c ca ?
<option selected value="">
<?php
$sql="select intitule_gamme from tbl_gamme order by intitule_gamme";
$req=mysql_query($sql);
while($row = mysql_fetch_row($req)) {
print "\t\t<option>".substr($row[0],0,80)."\n";
}
?>
</select>
ensuite je fais ma requete comme tu as dis et de toute facon si le criète est laissé à blanc avec is_used il sera pas pris en compte c ca ?? merci bcp pr ton aide !
davwart
Messages postés855Date d'inscriptionmardi 19 novembre 2002StatutMembreDernière intervention28 juillet 20091 27 févr. 2004 à 14:01
mais attention à bien remplacer les criteres "blancs" par des "%"
-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
yakou32
Messages postés32Date d'inscriptiondimanche 14 mars 2004StatutMembreDernière intervention 3 avril 2015 22 avril 2004 à 16:41
Salut !
Bon ben désolé d'être un peu neu neu...
Moi c'est pour des photos que je fais une recherche multicritères. Ce ne sont pas des listes de choix, mais des chamsp de texte :
- evenement
- date
- photographe
La requète correspondante est un truc du genre : " les enregistrements WHERE l'évènement contient 'Ardèche" AND l'année contient "2004" et le photographe contient "".
Là, si le champ photographe est vide, je n'obtiens aucune réponse. Normal. Dans Dreamweaver, la valeur par défaut des requètes est %.
Mais dans mon formulaire, j'ai pas compris ce que je devais faire pour qu'un ne tienne pas compte d'un champ vide, afin de remplacer le "" par "%" dans la requète, si j'ai bien compris les messages ci-dessus.