Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Menu DYNAMIQUE avec sous menu affiche sur clic

1 réponse
Avatar
remige_paralogique
Bonsoir à tous,

Sur mon site web, j'ai un menu qui sert de sommaire pour chaque
rubrique de mon site.

Il y a un menu et un sous menu, chaque intitulé est issue d'une
requête sur mysql.

Menu 1
Sous-menu 1.1
Sous-menu 1.2
Menu2
Sous-menu 1.1
Sous-menu 1.2

Mais voila, j'ai trop de menu et donc ma page s'étend trop de bas en
haut. Pour gagner de la place, je voudrais que tous les sous-menus ne
soient visibles que sur clic et qu'ils se rabattent lorsqu'ils ne sont
pas sollicités.

Est-ce inenvisageable en Mysql/PHP? Il semble que dès qu'on se sert
d'une base de données pour que cela soit dynamique, les choses
deviennent vraiment complexes...

J'ai trouvé beaucoup de script qui pourrait convenir mais il s'agit de
javascript qui ne sont pas compatible avec du PHP/Mysql.

Merci de votre aide, de vos indications, de vos encouragements et peut-
être de vos scripts.

Benjamin

1 réponse

Avatar
Olivier Miakinen

Sur mon site web, j'ai un menu qui sert de sommaire pour chaque
rubrique de mon site.

Il y a un menu et un sous menu, chaque intitulé est issue d'une
requête sur mysql.

Menu 1
Sous-menu 1.1
Sous-menu 1.2
Menu2
Sous-menu 1.1
Sous-menu 1.2

Mais voila, j'ai trop de menu et donc ma page s'étend trop de bas en
haut. Pour gagner de la place, je voudrais que tous les sous-menus ne
soient visibles que sur clic et qu'ils se rabattent lorsqu'ils ne sont
pas sollicités.

Est-ce inenvisageable en Mysql/PHP?


C'est tout-à-fait envisageable, au prix d'une dépense de ressources
réseau. En effet, comme PHP ne s'exécute que du côté du serveur, cela
veut dire que chaque clic pour déplier ou replier un bout de menu
nécessitera une nouvelle requête HTTP vers ton script, avec des
paramètres spécifiques. Si la page est un peu lourde, ou si tes
visiteurs sont en RTC, ils vont fuir après avoir attendu 5 secondes
par clic pour un truc qui est en général instantané.

Il semble que dès qu'on se sert
d'une base de données pour que cela soit dynamique, les choses
deviennent vraiment complexes...


Tu peux séparer les choses. D'une part PHP+MySQL pour générer une page
contenant la totalité du menu déplié, d'autre part un bout de code
JavaScript pour replier le tout au lancement et permettre d'ouvrir les
sous-menus à la demande.

Tu peux aussi utiliser les CSS pour ouvrir les sous-menus, pourvu que ça
ne décale pas le reste de la page... mais là ça devient parfaitement
hors charte ici (comme pour le javascript d'ailleurs).

Voir fr.comp.lang.javascript ou fr.comp.infosystemes.www.auteurs selon
le cas.

J'ai trouvé beaucoup de script qui pourrait convenir mais il s'agit de
javascript qui ne sont pas compatible avec du PHP/Mysql.


Je ne vois pas en quoi ce ne serait pas compatible. PHP/MySQL génère une
page HTML pouvant contenir du JavaScript, l'un fonctionne côté serveur,
l'autre côté client.