Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1774 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Effectuer une recherche avec des SELECT Option à plusieurs niveaux

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Effectuer une recherche avec des SELECT Option à plusieurs niveaux

n°1487806
miltonis
Posté le 07-12-2006 à 09:56:59  profilanswer
 

Bonjour :)
 
Je pense savoir faire un moteur de recherche sur bdd.
Mais ce que je veux faire c'est une fonction de recherche avec un formulaire fait de champs SELECT OPTION.
 
Jusque là, rien d'extraodinaire me direz-vous! Ce qui complique la chose c'est qu'il y aura plusieurs SELECTS dont certains dépendront de quelques autres. je m'explique :
 
Mettons 3 SELECT : cinemas, themes, films
Chaque SELECT a differentes valeurs en OPTION, par ex
Cinemas a comme options : ugc, gaumont, mk2, etc
Themes a comme options : policier, horreur, SF, etc
Films a comme options : arme fatale, star wars, star trek, le pianiste, etc
 
Mais tous les films ne sont pas diffusés dans toutes les salles, alors du SELECT n°1, dépendent les options des deux autres SELECT....
euh j'esprèe que tout le monde suit? :)
 
bref, rien en vaut un exemple, voir le moteur de recherche de ce site : http://support.euro.dell.com/suppo [...] l=fr&s=dhs
 
Voilà à peut près ce que j'aimerias faire avec 4 SELECT. Mais je ne sais pas trop comment m'y prendre. Un coup de main de base ou un tuto est le bienvenu.
merci à vous
;)


Message édité par miltonis le 07-12-2006 à 10:11:35
mood
Publicité
Posté le 07-12-2006 à 09:56:59  profilanswer
 

n°1488067
ZeBix
edit > preview
Posté le 07-12-2006 à 15:54:51  profilanswer
 

Tu as deux possibilités :  
 
1. Tu proposes pour commencer ton premier SELECT seulement, auquel tu mets un événement "onChange" qui soumets la page vers elle-même ($_SERVER['PHP_SELF']). Tu testes , avant d'afficher ton deuxième select, si le premier est déjà sélectionné (isset($_POST['valuedu1erselect'])), puis tu continues comme ça jusqu'au 4eme. Ce n'est pas très heureux en terme de performance car tu soumets N fois ta page, N étant ton nombre de select.
 
2. Tu utilises Javascript. Si les options dont dépendent chacun des select ne sont pas innombrables, tu peux à l'avance aller toute la chercher dans la base de données, et peupler des array avec les valeurs. Ensuite, toujours avec un onChange, tu peuples les select inférieurs en fonction du choix de ceux qui les précèdent.
A noter que cette option est absolument préférable si les mots de recherche ("cinémas, themes etc" , "ugc, gaumont etc" ne sont pas issus d'une bdd mais directement codés en dur (ce qui est un peu malheureux mais ça arrive ;) )
 

n°1488272
Gagman
Héritier du vide
Posté le 07-12-2006 à 19:45:01  profilanswer
 

La solution 2 est faisable avec une base de données je l'ai fait =) avec un triple choix en plus

n°1488433
rufo
Pas me confondre avec Lycos!
Posté le 08-12-2006 à 10:48:50  profilanswer
 

Gagman a écrit :

La solution 2 est faisable avec une base de données je l'ai fait =) avec un triple choix en plus


 
Faut pas avoir trop de données par contre.
 
Sinon, dernière solution : AJAX...

n°1488644
miltonis
Posté le 08-12-2006 à 15:16:19  profilanswer
 

merci de vos réponses, je pense que je vais me baser sur la deuxieme solution
a+++ ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Effectuer une recherche avec des SELECT Option à plusieurs niveaux

 

Sujets relatifs
Replication de bases Access pour plusieurs sites distants ?Diviser un calque en plusieurs
Select multiple.. recuperer les valeursAjout de header GPL dans plusieurs fichers source
Recherche Enseignant Java pour Cours ParticulierPartager un dossier avec plusieurs sites
select sur toutes les colonnes commençant par un certain motRecherche informations pour PL7pro(tableaux, graphiques, enre ! please
automatiser creation: 1 excel -> plusieurs excelsBouton qui donne une prase tirée au sort parmi plusieurs enregistrées.
Plus de sujets relatifs à : Effectuer une recherche avec des SELECT Option à plusieurs niveaux


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR