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

  FORUM HardWare.fr
  Programmation
  PHP

  Menu deroulant complexe

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Menu deroulant complexe

n°1886634
maktu
Posté le 20-05-2009 à 16:38:26  profilanswer
 

Bonjour je souhaiterais creer un menu deroulant comprenant des catégorie et des sous categorie, tout ceci dans le même menu.
 
Quelqu'un aurait un script y ressemblant ?

mood
Publicité
Posté le 20-05-2009 à 16:38:26  profilanswer
 

n°1887634
maktu
Posté le 25-05-2009 à 14:51:05  profilanswer
 

personne a une idée ?

n°1887636
pataluc
Posté le 25-05-2009 à 14:55:13  profilanswer
 
n°1887638
maktu
Posté le 25-05-2009 à 15:05:12  profilanswer
 

J'pense que si tout était inscrit sur google, il n'y aurait pas besoin de forum^^ J'ai déja chercher -_-"

n°1887645
pataluc
Posté le 25-05-2009 à 15:15:10  profilanswer
 

ben écoute, on en trouve plein en 30s, donc soit t'as pas bien cherché, soit tu cherches un truc hyper spécifique, auquel cas il faut que nous en dise plus...

n°1887682
maktu
Posté le 25-05-2009 à 15:40:24  profilanswer
 

Autant pour moi ;) Ma demande n'est pas asser clair, je le conçoit.
 
Je doit creer un Menu comprenant Une catégorie ainsi que la(ou les ) sous catégories.Touts ceci ranger les unes sous les autres.
 
En faisant appel a un fichier .csv qu'il faut parcourir pour receuillir ces informations.
Sachant qu'il y a en réalité une dizaine de catégorie.
 
(je confirme qu'il n'y  a rien sur le net a ce sujet, c'est vraiment très spécifique).
 
Un Exemple :
 
Boitier (Catégorie )
avec allimentation (Sous Catégorie)
sans Allimentation (Sous Catégorie)
Moniteur (Catégorie)  
17' (Sous Catégorie)
22' (Sous Catégorie)

n°1887714
infoman64
JE SUIS LA POUR TOI MON AMI
Posté le 25-05-2009 à 16:01:55  profilanswer
 

regarde ce topic,  
http://forum.hardware.fr/forum2.ph [...] w=0&nojs=0
 
il a fait aussi des menu a partir de csv avec des familles , sous famille, essaye de t'en inspire, je pense que ca t'aidera un minimun

n°1887725
maktu
Posté le 25-05-2009 à 16:25:58  profilanswer
 

Merci mais c'est moi ça xD

n°1887726
maktu
Posté le 25-05-2009 à 16:26:49  profilanswer
 

Enfin c'est gentil de m'avoir re-donner mon topic :D

n°1887734
macgawel
Posté le 25-05-2009 à 16:37:02  profilanswer
 

maktu a écrit :

Merci mais c'est moi ça xD


1. Merci de ne pas faire de nouveau topic, alors   :pt1cable:  
2. On te donne une solution, tu dis qu'elle fonctionne. Pourquoi redemander la même chose ? Au minimum, tu pourrais expliquer ce qui cloche, non ?

mood
Publicité
Posté le 25-05-2009 à 16:37:02  profilanswer
 

n°1887737
maktu
Posté le 25-05-2009 à 16:41:51  profilanswer
 

1.Sauf que si tu as bien lu^^ce ne sont pas des choses identiques sinon je n'aurait pas creer un autre topic :s
2. Ben oui elle fonctionne, sauf qu'elle ne répond plus aux attente...  
Rien ne "cloche" donc je n'ai rien a expliquer -_-"

n°1887743
infoman64
JE SUIS LA POUR TOI MON AMI
Posté le 25-05-2009 à 16:56:36  profilanswer
 

sauf que la ta demande est tres tres tres vague,  
c'est un peu difficile de t'aider avec si peu de précision

Message cité 1 fois
Message édité par infoman64 le 25-05-2009 à 16:56:52
n°1887744
macgawel
Posté le 25-05-2009 à 16:59:22  profilanswer
 

Mouaip...
 
Donc en fait, ton "problème" c'est que maintenant qu'on t'a expliqué comment faire une cascade de listes à partir d'un CSV tu voudrais faire un menu en cascade.
C'est bien ça ?
 
=> On reprend le principe, en trois étapes :
1. Lecture du CSV (maintenant tu sais faire)
2. Choix d'un système de sous-menu, en CSS pur ou avec JS (recherche sur le net)
3. Intégration des éléments du CSV pour en faire les items du menu. En gros, tu reprends la boucle du code précédent, mais au lieu de remplir les option tu vas remplir les items du menu.
 
S'il y a une partie de ton code qui te pose problème on se fera (moi ou d'autres) un plaisir de t'aider...

n°1887745
maktu
Posté le 25-05-2009 à 17:14:05  profilanswer
 

J'pense que mon expemple plus haut est asser clair. C'est dans un menu deroulant.
Menu deroulant qui comporte les 2 catégorie. Alors que dans mon ancien topic, les 2 menu était visuellement indépenant, mais liée au niveau du code.

n°1887751
maktu
Posté le 25-05-2009 à 17:41:40  profilanswer
 

Je suis obliger d'utiliser du CSS ou java ? Oo

n°1887755
maktu
Posté le 25-05-2009 à 17:46:12  profilanswer
 

J'pense pas que tu es vrément saisi ce que doit etre le résultat final.

n°1887871
maktu
Posté le 26-05-2009 à 09:30:32  profilanswer
 

On va dire que le résultat final est la concaténation de 2 menu.

n°1887872
macgawel
Posté le 26-05-2009 à 09:33:36  profilanswer
 

maktu a écrit :

J'pense pas que tu es vrément saisi ce que doit etre le résultat final.

infoman64 a écrit :

sauf que la ta demande est tres tres tres vague,  
c'est un peu difficile de t'aider avec si peu de précision

:whistle:  
 
Quand tu parles de "menu déroulant", tu veux dire quoi au juste ?
Tu peux mettre du code, histoire d'illustrer ?

n°1887873
maktu
Posté le 26-05-2009 à 09:35:45  profilanswer
 

On ne peut pas upload d'image sur le forum ? J'aimerais te donner un exemple visuel.

n°1887875
maktu
Posté le 26-05-2009 à 09:41:11  profilanswer
 

Code :
  1. <?php
  2. session_start();
  3. $Vfamille="";
  4. if(isset($_POST["Famille"]))$Vfamille=$_POST["Famille"];
  5. $Vsfamille="";
  6. if(isset($_POST["SousFamille"]))$Vsfamille=$_POST["SousFamille"];
  7. ?>
  8. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  9. <html>
  10. <head>
  11. </head>
  12. <body>
  13. <SPAN style="position: absolute; top:50px;left: 250px;"><form  name="form1" method="post" action="">
  14. <label>Famille</label>
  15.  <select name='Famille' id='Famille' onchange="document.form1.submit();" >
  16.     <option>--Choix --</option>
  17. <?php
  18.   $fichier="Produits.csv";
  19.   $var=fopen("$fichier","r+" );
  20.   while( !feof($var))
  21.   {
  22.             $ligne=fgets($var);
  23.             $partie=explode(";",$ligne);
  24.             $famille=$partie[0];
  25.             $sousfamille=$partie[1];
  26.             $string=$famille." | ".$sousfamille;
  27.             if (($famille!="" )) // par contre la c'est intelligent de pas mettre de valeur nul
  28.             {
  29.              echo "<OPTION VALUE='$string' ";
  30.              if($string==$string) echo " selected "; //permet de reselectionner la valeur choisi précédenment
  31.               echo " ><h1>".$string."</h1></OPTION>";
  32.             }
  33.   }
  34. ?>
  35.  </SELECT>
  36. <?php
  37. }
  38. if(isset($_POST["SousFamille"])&&isset($_POST["Famille"])){// comme ca, cela ne s'affiche que si tu as sélectionné que la famille.
  39. ?>
  40.      
  41. <label>Marque</label>
  42.  <select name="Marque" >
  43.   <option>--Choix--</option>
  44. <?php
  45.          $cat=array();
  46.          $fichier="Produits.csv";
  47.          $var=fopen("$fichier","r+" );
  48.          $fichier="Produits.csv";
  49.   $var=fopen("$fichier","r+" );
  50.      while( !feof($var))
  51.      {
  52.          $ligne=fgets($var);
  53.          $partie=explode(";",$ligne);
  54.          $famille=$partie[0];//nom de la famille
  55.          $sousfamille=$partie[1];//sous famille
  56.          $marque=$partie[2];//sous famille
  57.         
  58.         
  59.          if (($Vfamille==$famille)&&($sousfamille==$Vsfamille)&&$marque!="" )
  60.          {
  61.             echo "<OPTION VALUE='$marque' ";
  62.       echo " >".$marque."</OPTION>";
  63.           }
  64.   }
  65. ?>
  66. </SELECT>
  67. </Form>
  68. </span>
  69. <?php
  70. }
  71. ?>
  72. </body>
  73. </html>

n°1887878
maktu
Posté le 26-05-2009 à 09:43:40  profilanswer
 

Sauf que ici dans mon code, les sous Famille ( ou sous Catégorie appel ça comme tu veut ^^ ) se retrouve a coté des Famille et sa ne permet pas le selection individuel de l'un ou l'autre...
Moi je veut que cela apparaisse en desous les uns des autres...
dans un Menu Ascenseur, si tu prefère ce therme

n°1887890
infoman64
JE SUIS LA POUR TOI MON AMI
Posté le 26-05-2009 à 10:12:10  profilanswer
 

maktu a écrit :

Sauf que ici dans mon code, les sous Famille ( ou sous Catégorie appel ça comme tu veut ^^ ) se retrouve a coté des Famille et sa ne permet pas le selection individuel de l'un ou l'autre...
Moi je veut que cela apparaisse en desous les uns des autres...
dans un Menu Ascenseur, si tu prefère ce therme


tu as pas un exemple ?
si tu veut mettre une image
heberge la sur ce http://imageshack.us/  
tu as en plein d'autres
et apres copie le lien qui te sera donnée sur le forum et met le lien entre les balises img

n°1887891
macgawel
Posté le 26-05-2009 à 10:15:55  profilanswer
 

OK.
Donc ce n'est pas un menu, c'est une liste de choix...
En gros tu voudrais avoir quelque chose du genre

Code :
  1. <select name='Famille' id='Famille' onchange="document.form1.submit();" >
  2. <option>Famille1 - SousFamille1</option>
  3. <option>Famille1 - SousFamille2</option>
  4. <option>Famille2 - SousFamille1</option>
  5. </select>

n°1887893
maktu
Posté le 26-05-2009 à 10:18:08  profilanswer
 

http://img38.imageshack.us/img38/8185/menuo.png
 
J'espère que ça t'aidera :D Voila tt a fait ce que j'aimerais Obtenir.
 

n°1887899
maktu
Posté le 26-05-2009 à 10:27:31  profilanswer
 

Difficile a réaliser avec un fichier .csv ?

n°1887910
infoman64
JE SUIS LA POUR TOI MON AMI
Posté le 26-05-2009 à 10:49:05  profilanswer
 

nan c'est pas compliqué a faire, c'est un simple select
a toi de faire le traitement et la mise en forme.
tu fais pareil tu lit ton fichier, t'effectue le traitement necessaire,
et tu le balance le tout dans le select

n°1887917
maktu
Posté le 26-05-2009 à 10:56:28  profilanswer
 

Ben le résultat que j'obtient me convient dans le sens où j'obtient bien mes catégorie correspondant a mes sous catégori dans une seule liste de choix. Mais La mise en forme n'est pas bonne. C'est la que je coinçe.
Car je voudrai pouvoir faire une selection individuel comme sur l'image que j'ai mit plus haut.

n°1887920
maktu
Posté le 26-05-2009 à 10:59:18  profilanswer
 

http://img33.imageshack.us/img33/1582/menu2c.png
 
Voilà ce que j'obtient...

n°1887926
maktu
Posté le 26-05-2009 à 11:05:47  profilanswer
 

Si tu veut le code, n'hésite pas à le demander :p

n°1887945
maktu
Posté le 26-05-2009 à 11:39:30  profilanswer
 

Jm'en sort pas avec ce code... :(

n°1887987
macgawel
Posté le 26-05-2009 à 13:07:58  profilanswer
 

Tu as essayé de faire ta mise en forme en HTML pur ?
 
Si oui, peux-tu mettre sur le forum le code html de ce que tu veux, et le code de ce que tu as ?

n°1887989
infoman64
JE SUIS LA POUR TOI MON AMI
Posté le 26-05-2009 à 13:08:46  profilanswer
 

maktu a écrit :

Ben le résultat que j'obtient me convient dans le sens où j'obtient bien mes catégorie correspondant a mes sous catégori dans une seule liste de choix. Mais La mise en forme n'est pas bonne. C'est la que je coinçe.
Car je voudrai pouvoir faire une selection individuel comme sur l'image que j'ai mit plus haut.


 
comment ca selection individuel? je comprends pas
 
apres la mise en forme pour les couleurs ou le fond c'est du css

n°1888019
maktu
Posté le 26-05-2009 à 14:01:40  profilanswer
 

j'arrive a un résultat presque satisfaisant :D j'ai juste des doublons... qqn pourait me trouver l'erreur ?

n°1888020
maktu
Posté le 26-05-2009 à 14:04:16  profilanswer
 

http://img35.imageshack.us/img35/7532/menu3.png
Voila ce que j'ai

n°1888022
maktu
Posté le 26-05-2009 à 14:05:04  profilanswer
 

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <?php
  3. session_start();
  4. //$Vfamille="";
  5. //if(isset($_POST["Famille"]))$Vfamille=$_POST["Famille"];
  6. //$Vsfamille="";
  7. //if(isset($_POST["SousFamille"]))$Vsfamille=$_POST["SousFamille"];
  8. ?>
  9. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  10. <html>
  11. <head>
  12. </head>
  13. <body>
  14. <SPAN style="position: absolute; top:50px;left: 250px;"><form  name="form1" method="post" action="">
  15. <label>Famille</label>
  16.  <select name='Famille' id='Famille' onchange="document.form1.submit();" >
  17.     <option>--Choix --</option>
  18. <?php
  19.   $fichier="Produits.csv";
  20.   $var=fopen("$fichier","r+" );
  21.   while( !feof($var))
  22.   {
  23.             $ligne=fgets($var);
  24.             $partie=explode(";",$ligne);
  25.             $famille=$partie[0];
  26.             $sousfamille=$partie[1];
  27.            
  28.              if (($famille!="" )&&(!isset($_SESSION[$famille]))) // par contre la c'est intelligent de pas mettre de valeur nul
  29.             {
  30.              echo "<OPTION VALUE='$famille' ";
  31.              if($famille==$famille) echo " selected "; //permet de reselectionner la valeur choisi précédenment
  32.               echo " >".$famille."</OPTION>";
  33.                echo "<OPTION VALUE='$famille' ";
  34.               if($sousfamille==$sousfamille) echo " selected ";
  35.               echo " >".$sousfamille."</OPTION>";
  36.               $_SESSION[$sousfamille]="aa";
  37.             }
  38. }
  39. ?>
  40. </SELECT>
  41. <?php
  42. if(isset($_POST["SousFamille"])&&isset($_POST["Famille"])){// comme ca, cela ne s'affiche que si tu as sélectionné que la famille.
  43. ?>
  44.      
  45. <label>Marque</label>
  46.  <select name="Marque" >
  47.   <option>--Choix--</option>
  48. <?php
  49.          $cat=array();
  50.          $fichier="Produits.csv";
  51.          $var=fopen("$fichier","r+" );
  52.          $fichier="Produits.csv";
  53.   $var=fopen("$fichier","r+" );
  54.      while( !feof($var))
  55.      {
  56.          $ligne=fgets($var);
  57.          $partie=explode(";",$ligne);
  58.          $famille=$partie[0];//nom de la famille
  59.          $sousfamille=$partie[1];//sous famille
  60.          $marque=$partie[2];//sous famille
  61.         
  62.         
  63.          if (($Vfamille==$famille)&&($sousfamille==$Vsfamille)&&$marque!="" )
  64.          {
  65.             echo "<OPTION VALUE='$marque' ";
  66.       echo " >".$marque."</OPTION>";
  67.           }
  68.   }
  69. ?>
  70. </SELECT>
  71. </Form>
  72. </span>
  73. <?php
  74. }
  75. ?>
  76. </body>
  77. </html>

n°1888031
maktu
Posté le 26-05-2009 à 14:15:33  profilanswer
 

Il faudrait juste que chaque catégori et sous catégorie n'aparraise qu'une seule fois.

n°1888166
stealth35
Posté le 26-05-2009 à 19:24:15  profilanswer
 

deja c'est la balise <optgroup> pour faire ce que tu veux, et faudra faire 2 boucles imbriqués en php

 

ensuite ta plein de faute,  
2 doctype,
doctype avant session_start();
pas de meta content
pas de title

 

utilise file au lieux de fopen
met te balise en minuscule
les attribut en double quote

 

utilise :

 

if():
//blabla
endif;

 

c'est plus propre


Message édité par stealth35 le 26-05-2009 à 19:29:11
n°1888473
maktu
Posté le 27-05-2009 à 11:47:52  profilanswer
 

Mon menu de famille est comme je le souhaite. Mais je n'arrive pas a y liée la liste des Marques...

n°1888622
maktu
Posté le 27-05-2009 à 15:30:34  profilanswer
 

qqn saurait comment liéer tt ça ?

n°1888830
maktu
Posté le 28-05-2009 à 09:20:47  profilanswer
 

up ? :p

mood
Publicité
Posté le   profilanswer
 


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

  Menu deroulant complexe

 

Sujets relatifs
Récupérer des données d'un menu déroulant en PerlCreer un menu deroulant en passant par un fichier CSV
Problème menuMenu vertical dynamique (avec BDD)
Problème avec un menu déroulant qui s'ouvre au chargement 
Plus de sujets relatifs à : Menu deroulant complexe


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