Menu dynamique
Résolu/Fermé
genjo-sanzo
-
8 juin 2009 à 16:02
Thread Messages postés 298 Date d'inscription lundi 20 octobre 2008 Statut Membre Dernière intervention 9 juin 2009 - 9 juin 2009 à 08:59
Thread Messages postés 298 Date d'inscription lundi 20 octobre 2008 Statut Membre Dernière intervention 9 juin 2009 - 9 juin 2009 à 08:59
A voir également:
- Menu dynamique
- Tableau croisé dynamique - Guide
- Menu déroulant excel - Guide
- Windows 11 menu démarrer classique - Guide
- Canon quick menu - Télécharger - Utilitaires
- Réinitialiser menu démarrer windows 10 - Guide
4 réponses
arthezius
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
475
8 juin 2009 à 16:32
8 juin 2009 à 16:32
Tu devrai afficher le résultat de l'envoi du premier formulaire dans l'url puis placer une condition qui affichera le menu suivant en fonction du résultat précédent.
Exemple:
Ton premier menu est la date.
Tu la place dans l'url:
Ensuite la condition:
A toi maintenant d'adapter ça. C'est juste pour te guider que je met ça mais le code est très loin d'être complet.
Exemple:
Ton premier menu est la date.
Tu la place dans l'url:
[...]?date=2009-06-08
Ensuite la condition:
if(isset($_GET['date'])){echo'<select>[...]</select>';}
A toi maintenant d'adapter ça. C'est juste pour te guider que je met ça mais le code est très loin d'être complet.
Thread
Messages postés
298
Date d'inscription
lundi 20 octobre 2008
Statut
Membre
Dernière intervention
9 juin 2009
35
8 juin 2009 à 16:47
8 juin 2009 à 16:47
Tu peux en effet suivre les conseils d'arthezius. Mais cela nécessitera un rafraichissement de la page à chaque modification (Un rafraichissement pour afficher les premiers select, puis un second pour le choix du type de matériel et ainsi de suite).
De plus, il te faudra faire valider ton formulaire à chaque fois pour prendre en compte le choix de l'utilisateur.
C'est une méthode lourde mais au moins elle aura le mérite de marcher tout le temps.
Si tu la choisis je te conseille par contre de passez par la méthode POST et non GET comme décris par arthezius. Cela évitera de surcharger ton url et d'afficher des informations pas forcément nécessaire à l'utilisateur.
Une autre solution serait d'utiliser du javascript.
Tu prends là le risque que l'utilisateur n'ai pas activé JavaScript (rare de nos jours ça) et donc que cela ne marche pas. Mais là, au moins tu n'auras pas besoin de rafraichir sans cesse la page.
A chaque modification d'un SELECT (via l'évènement onChange à ajouter sur les balises SELECT) tu pourras modifier le style display des SELECT suivant de "none" à "block" par exemple, ce qui aura pour effet de les faire apparaitres.
Et si tu souhaites en plus avoir des SELECT qui se construisent via une base de donnée sans pour autant retirer la main à l'utilisateur, tu pourras intégrer de l'AJAX (association de JavaScript et PHP).
M'enfin là ça devient complexe et j'dois t'embrouiller le cerveau.
Alors pour récapituler :
- Tu peux faire ça simplement en PHP via un rafraichissement à chaque besoin de modification de l'affichage du formulaire (utilise plutôt la méthode POST que GET pour le formulaire)
- Ou en utilisant du JavaScript (modification du DOM côté client, donc sans rafraichissement).
De plus, il te faudra faire valider ton formulaire à chaque fois pour prendre en compte le choix de l'utilisateur.
C'est une méthode lourde mais au moins elle aura le mérite de marcher tout le temps.
Si tu la choisis je te conseille par contre de passez par la méthode POST et non GET comme décris par arthezius. Cela évitera de surcharger ton url et d'afficher des informations pas forcément nécessaire à l'utilisateur.
Une autre solution serait d'utiliser du javascript.
Tu prends là le risque que l'utilisateur n'ai pas activé JavaScript (rare de nos jours ça) et donc que cela ne marche pas. Mais là, au moins tu n'auras pas besoin de rafraichir sans cesse la page.
A chaque modification d'un SELECT (via l'évènement onChange à ajouter sur les balises SELECT) tu pourras modifier le style display des SELECT suivant de "none" à "block" par exemple, ce qui aura pour effet de les faire apparaitres.
Et si tu souhaites en plus avoir des SELECT qui se construisent via une base de donnée sans pour autant retirer la main à l'utilisateur, tu pourras intégrer de l'AJAX (association de JavaScript et PHP).
M'enfin là ça devient complexe et j'dois t'embrouiller le cerveau.
Alors pour récapituler :
- Tu peux faire ça simplement en PHP via un rafraichissement à chaque besoin de modification de l'affichage du formulaire (utilise plutôt la méthode POST que GET pour le formulaire)
- Ou en utilisant du JavaScript (modification du DOM côté client, donc sans rafraichissement).
je vous remercie pour vos réponses rapide, et en effet je pensais déjà en postant que j'utiliserais le javascript, j'avais fait pas mal de recherche au préalable avant de venir demander de l'aide, mais je n'ai pas trouvé la réponse que je cherchais.
il ne me reste plus qu'a parcourir les cours de javascript pour cherché les informations qu'y m'intéresse :).
j'ai déjà entendu/vu de l'ajax, et non tu ne m'embrouille pas, mais dans la mesure ou je ne sais rien de cette union de langage, tu me perdras si tu continue a en parlé ^^.
en tout cas merci pour vos réponses!
il ne me reste plus qu'a parcourir les cours de javascript pour cherché les informations qu'y m'intéresse :).
j'ai déjà entendu/vu de l'ajax, et non tu ne m'embrouille pas, mais dans la mesure ou je ne sais rien de cette union de langage, tu me perdras si tu continue a en parlé ^^.
en tout cas merci pour vos réponses!
Thread
Messages postés
298
Date d'inscription
lundi 20 octobre 2008
Statut
Membre
Dernière intervention
9 juin 2009
35
9 juin 2009 à 08:59
9 juin 2009 à 08:59
De rien, ça fait plaisir de pouvoir aider ;)
Et surtout bonne chance pour la suite de ton travail
Et surtout bonne chance pour la suite de ton travail