[PHP] Menu dynamique avec valeur par défaut
Écrit par Jean-Luc | 29-07-2005

Dans le cadre d'un site dynamique utilisant des tables liées (jointure) il peut être utile d'afficher les informations provenant d'une de ces tables dans un menu déroulant (combo-box), avec une valeur par défaut et la possibilité de modifier cette valeur.
Nous allons prendre pour exemple la gestion de vidéos, avec une première table contenant les différents genres de vidéos (table "genre") et une seconde table (table "video") contenant les vidéos à proprement parler.

Pour vous faciliter la vie, la base de données utilisé dans le tutorial est disponible en téléchargement.

Liste des vidéos

On crée deux pages, "index.php" et "update.php", "index.php" listant les vidéos disponibles, avec un lien pointant vers la page "update.php", qui, elle, nous permettra de modifier les vidéos.
On crée un recordset ayant pour nom "rsListe" et listant les enregistrements de la table "video".

rs_liste.gif

Puis on insère un tableau dynamique, en affichant tous les enregistrements.

tableau_rs_liste.gif

On sélectionne le champ "titre", on fait un lien vers la page "update.php", en passant en paramètre l'identifiant (champ "id_video") de la vidéo et en donnant pour nom à ce paramètre "video".

lien_rs_liste.gif

Page "update.php"

On crée un premier jeu d'enregistrement ayant pour nom "rsGenre" et listant tous les genres de vidéos présent dans la table "genre".

rs_genre.gif

Puis un second jeu d'enregistrement ayant pour nom "rsVideo", qui va, lui, sélectionner les informations présent dans la table "video" et filtré par le paramètre "video" passé dans l'url.

rs_video.gif

Formulaire de modification

On insère un formulaire de modification d'enregistrement, via le menu "Insertion".

form_update.gif

Puis en sélectionnant le champ "id_genre" on clique sur "Afficher en tant que" et on choisit "Menu".

form_update_menu.gif

Le menu va lister les enregistrements du jeu d'enregistrement "rsGenre", en prenant la valeur par défaut de l'enregistrement du jeu d'enregistrement "rsVideo".

form_update_menu2.gif

Affichage du résultat

La page "index.php" liste toutes les vidéos disponibles, en cliquant sur un des titres on affiche la page "update.php" avec le détail de l'enregistrement et le genre de cette vidéo affiché par défaut.

result1.gif

En faisant dérouler le menu on accède aux autres genres de vidéos possibles, disponible dans la table "genre", il est donc possible de modifier ce genre par la suite.

result2.gif

 
Dernière mise à jour : 13-09-2006