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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [Votre Avis] - Selection d'un theme -> Catégorie -> Sous-catégorie

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Votre Avis] - Selection d'un theme -> Catégorie -> Sous-catégorie

n°866921
ucl-madcow
LE Totophe du Net.
Posté le 07-10-2004 à 10:49:09  profilanswer
 

Voila, dans le cadre d'un site internet, je dois à un moment donner dans une fenêtre, donner à l'utilisateur la possibilité de choisir un thème, puis une catégorie, puis enfin une sous-catégorie.  
 
Pour cela je dispose d'une base de donnée contenant une liste de "rubriques" avec le numéro de la rubrique et l'intitulé de la rubrique. La numérotation s'effectue sur 4 chiffres, si bien qu'au final, toutes les rubriques des milliers (1000, 2000, 3000, ...) représentent les "thèmes", toutes les rubriques des centaines (1100, 1200, 1300, ...) représentent les "catégories", et le reste (1101, 1102, 1103...) représentent les sous-catégories.
 
Primo, il y a environ 250 rubriques, et donc, je ne peux pas me permettre de juste mettre une liste déroulante pour le choix.
 
Secundo, ce que je souhaite récupérer au final, c'est le code de la rubrique. (L'intitulé ne m'interesse evidement pas, puisqu'a partir du numéro je peux le récupérer.)
 
Comme cette liste est sujete à changements et que la base de donnée n'est pas exclusive à internet, ces données restent dynamique.
 
Pour la génération de la page, j'ai à ma disposition le PHP.
 
-------
 
J'imaginais au départ faire 3 menus déroulants avec génération dynamique par javascript du contenu affiché en fonction des sélections. (L'utilisateur sélectionne les 1000, affichage des 1100, 1200, ...  dans le menu déroulant "catégorie".)
 
Une autre solution consisterait à le générer en php et à afficher la page au fur et a mesure de son choix. La fenetre étant en pop-up (ouhouh, c'est mal ! ;)), elle ne contiendra que ce menu.
 
Mais je me demande si c'est vraiment la plus belle méthode. Avez-vous des sugestions ?


Message édité par ucl-madcow le 07-10-2004 à 10:52:49
mood
Publicité
Posté le 07-10-2004 à 10:49:09  profilanswer
 

n°867015
Lorr Hyde
L'univers est trop grand Zut !
Posté le 07-10-2004 à 13:17:47  profilanswer
 

un ptit code que j'ai eu utiliser ...
cadeau ...
 

Code :
  1. <SCRIPT type="text/javascript">
  2. var menu=new CreerMenu(3,"Theme","Categorie","SousCategorie","SousSousCategorie","_blank" );
  3. // CreerMenu(Nb de listes, titre1, titre2, titre3, target)
  4. // Nb listes=4 maxi
  5. // Les 4 titres sont obligatoires (meme si Nb_liste<4)
  6. // target=nom de la frame ou "self" si c'est la fenetre elle meme, "_blank" pour une nouvelle
  7. // Pour ajouter les liens dans les listes, utiliser menu.Add
  8. // Menu.Add(numéro de la liste, texte, page à charger)
  9. menu.Add(1,"1000","" );
  10. menu.Add(2,"1100","" );
  11.  menu.Add(3,"1110","URL" );
  12.  menu.Add(3,"1120","URL" );
  13. menu.Add(2,"1200","" );
  14.  menu.Add(3,"1210","URL" );
  15.  menu.Add(3,"1220","URL" );
  16. menu.Add(1,"2000","" );
  17. menu.Add(2,"2100","" );
  18.  menu.Add(3,"2110","URL" );
  19.  menu.Add(3,"2120","URL" );
  20. menu.Add(2,"2200","" );
  21.  menu.Add(3,"2210","URL" );
  22.  menu.Add(3,"2220","URL" );
  23. function CreerMenu(profondeur,titre1,titre2,titre3,titre4,target) {
  24. this.nb=0;this.prof=profondeur;
  25. this.titre1=titre1; this.titre2=titre2; this.titre3=titre3; this.titre4=titre4; this.target=target
  26. this.Add=AddObjet;
  27. this.Aff=AffMenu;
  28. }
  29. function AddObjet(deep,txt,page) {
  30. var rub = new Object;
  31. rub.deep=deep;
  32. rub.txt=txt;
  33. rub.page=page;
  34. this[this.nb]=rub;
  35. this.nb++;
  36. }
  37. function AffMenu() {
  38. var Z="<FORM name='mf'>";
  39. Z+="<SELECT size=1 name='list1' onChange='Clic(1)'><OPTION selected>"+this.titre1+"</OPTION>";
  40. for (var i=0;i<this.nb;i++) {
  41.  if (this[i].deep==1) {
  42.   Z+="<OPTION value='"+i+"'>"+this[i].txt+"</OPTION>"
  43.  }
  44. }
  45. Z+="</SELECT><br>";
  46. for (var i=2;i<=menu.prof;i++) {
  47.  Z+="<SELECT name='list"+i+"' onChange='Clic("+i+" )'><OPTION>"+eval("menu.titre"+i)+"</OPTION><OPTION></OPTION><OPTION></OPTION><OPTION></OPTION><OPTION></OPTION><OPTION></OPTION></SELECT><BR>";
  48. }
  49. Z+="</FORM>";
  50. document.write(Z);
  51. }
  52. function add() {
  53. var c=new Option("ADD","",true,true);
  54. document.forms[0].elements["list"].options[0]=c;
  55. }
  56. function Clic(no) {
  57. var valeur=document.forms["mf"].elements["list"+no].options[ document.forms["mf"].elements["list"+no].selectedIndex].value;
  58. if ((valeur!="" )&&(valeur!=null)&&(no<menu.prof)) {
  59.  var deep=menu[valeur].deep;
  60.  var no2=1;
  61.  for (var noX=(no+1);noX<=menu.prof;noX++) {
  62.   document.forms["mf"].elements["list"+eval(noX)].options.length=0;
  63.   var titre=eval("menu.titre"+noX);
  64.   var c=new Option(titre);
  65.   document.forms["mf"].elements["list"+(noX)].options[0]=c;
  66.   document.forms["mf"].elements["list"+(noX)].selectedIndex=0;
  67.  }
  68.  valeur++;
  69.  for (var i=valeur;i<menu.nb;i++) {
  70.   //alert(i);
  71.   if (menu[i].deep==deep+1) {
  72.    //alert("no="+no+" texte="+menu[i].txt);
  73.    var c=new Option(menu[i].txt,i);
  74.    document.forms["mf"].elements["list"+(no+1)].options[no2]=c;
  75.    no2++;
  76.   } else { if (menu[i].deep==deep){i=menu.nb;}}
  77.  }
  78.  document.forms["mf"].elements["list"+(no+1)].options.length=no2+1;
  79.  document.forms["mf"].elements["list"+(no+1)].selectedIndex=0;
  80.  Clic(no+1)
  81.  valeur--;
  82. }
  83. if ((valeur!="" )&&(valeur!=null)) {
  84.  var page=menu[valeur].page;
  85.  if ((page!="" )&&(page!=null)) {
  86.   if (menu.target=="self" ) {window.location=page}
  87.   else if (menu.target=="_blank" ) {window.open(page,"","menubar,scrollbars,toolbar,status,location" )}
  88.   else {parent.frames[menu.target].location.href=page;}
  89.  }
  90. }
  91. }
  92. </SCRIPT>


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [Votre Avis] - Selection d'un theme -> Catégorie -> Sous-catégorie

 

Sujets relatifs
besoin de votre avis => je laisse trop liberté ?vos avis sur l'architecture de mon site, est-ce crade ?
CFileDialog et sélection de répertoireavis
Probleme de selection de fenetre wordVotre avis sur un site et sur sa sécurité...
zone de sélection d'un dossier et non d'un fichierVotre avis SVP : ASP/ASP.net
[AVIS] site internet en "page à page" ou "forum" ?[AVIS] PHP ou JSP pour communiquer avec une base de données mySQL?
Plus de sujets relatifs à : [Votre Avis] - Selection d'un theme -> Catégorie -> Sous-catégorie


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