Moteur de recherce multi critères

inssetman Messages postés 11 Date d'inscription lundi 12 janvier 2004 Statut Membre Dernière intervention 18 mars 2004 - 26 févr. 2004 à 09:12
yakou32 Messages postés 32 Date d'inscription dimanche 14 mars 2004 Statut Membre Derniè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

11 réponses

davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
26 févr. 2004 à 17:55
il te suffit de tester ton champ avant.

if ($variable)
echo "ma variable existe";
else
echo "ma variable n'existe pas..."

-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
0
inssetman Messages postés 11 Date d'inscription lundi 12 janvier 2004 Statut Membre Dernière intervention 18 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 :-(
0
davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
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]
0
inssetman Messages postés 11 Date d'inscription lundi 12 janvier 2004 Statut Membre Dernière intervention 18 mars 2004
27 févr. 2004 à 11:19
ben euh ke dalle pour l'instant mais en fait j'avais l'aintention de mettre le premier item de chaque liste déroulante à blanc un peu comme ceci

<select name="intitule_gamme2">Choix :

<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>

là la première valeur est mise à blanc mais le coup des checksboxs c pas mal !vje vias partir la dessus mais comment gérer ca ??? merci d'avance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
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]
0
inssetman Messages postés 11 Date d'inscription lundi 12 janvier 2004 Statut Membre Dernière intervention 18 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
0
davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
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]
0
inssetman Messages postés 11 Date d'inscription lundi 12 janvier 2004 Statut Membre Dernière intervention 18 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 !
0
davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
27 févr. 2004 à 14:00
oui ça doit etre ça ;)

-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
0
davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
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]
0
yakou32 Messages postés 32 Date d'inscription dimanche 14 mars 2004 Statut Membre Derniè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.

Help!!!

MEeci !
0
Rejoignez-nous