Rapport sur la construction d'un menu déroulant (présentant des liens) relié et généré par une base de donnée enrichie à travers un formulaire accessible sur la page des liens.

Accès au menu déroulant

Choix du projet

J'ai retravaillé dernièrement ma homepage et je souhaitait enrichir ma page de lien. J'ai choisi d'installer un menu déroulant mais je n'y trouvait pas beaucoup d'intérêt si ce n'est l'aspect esthétique du menu. Mon objectif était de pouvoir relier ce menu déroulant à une base de données et de rentrer mes liens directement depuis cette page "lien" sans passer par MyAdmin. J'ai donc travaillé sur la construction d'un formulaire d'insertion. D'un exercice sur php dynamique je bascule finalement sur un exercice bases de données, les deux restant très liés.



Les contraintes: Assez nombreuses car ma page lien contient 4 niveaux: Ce formulaire doit permettre de créer des catégories, des thèmes, des sous-thèmes et d'insérer des adresses. Nous avons donc 4 tables liées hiérarchiquement.
Chaque niveaux devaient être regénéré dans le formulaire. C'est à dire lorsque je fais un choix d'une catégorie le select suivant doit me proposer les thèmes correspondant à la catégorie choisie puis le select des sous-thèmes doit me proposer les sous-thèmes du thème sélectionné et pour enfin pouvoir insérer l'adresse.
L'ensemble des éléments insérés peuvent être visionnés à travers un fichier qui liste les insertions et qui permet également les suppressions si il y a des problèmes sur les enregistrements enregistrements.

Les difficultés:
J'ai essayé au départ de ne pas utiliser trop de fichiers php récupérant les données mais les enregistrements se doublaient je suis donc revenu à une séparation des fichiers. Pour contrôler le bon enregistrement j'ai assuré l'affichage des listes et la possibilité depuis cette page de supprimer les enregistrements qui s'avéraient incorrectes sans avoir besoin de retourner dans MyAdmin. Je suis consciente du risque que cela occasionne puisque si je supprime un thème c'est l'ensemble des sous-thèmes liés à ce thème et l'ensemble des sites liés à chacun des sous_thèmes du thème qui disparaîtront. Il faut que je trouve une solution assez rapidement pour ce problème (mot de passe par exemple).

Relier ce formulaire à un menu déroulant est un petit bonus que Stéphane M. m'a gentiment explicité car cela comporte de nombreuses difficultés. En effet dans mon menu déroulant on voit trois niveaux: les catégories (ex:Technologie), les thèmes (ex:Tutoriel) et les sous-thèmes (ex:HTML). Pour dynamiser le menu chacun de ces niveaux devaient être créés en tant qu'objets avec la classe déjà existante "menu" du fichier menu.php puis les ajouter les uns aux autres avec la fonction "add". Tâche intéressante mais très complexe, voici les scripts dont le script "menudynamique" et "index" transformés et commentés:

Ergonomie


Cet exercice était long mais parfait pour commencer à se débrouiller avec php. Il permet de tester l'imbrication des boucles et la définition correcte des variables. C'est une première approche des tableaux associatifs, de l'utilisation de classes et de la création d'objets via ces classes. Mon évaluation concerne seulement le formulaire car j'ai peu mis la main à la pâte concernant la liaison avec le menu déroulant. Merci également à Viviane et Luis pour leurs conseils.