menus avec listes choix dans formulaires : principes ?

Eléphanteau du PHP | 43 Messages

12 mars 2007, 18:07

Bonjour,

Je démarre un nouveau projet. Dans mes formulaires de saisie, il y aura un certain nombre de champs qui appellent un choix dans une liste.

Jusqu'ici j'ai utilisé des tables secondaires contenant un "Id" et un libellé (exemple très simple : pour saisir la "civilité", c'est à dire M. Mme, Melle, on stocke ces libellés dans une table "civilités", avec un enregistrement par type de civilité). C'est bien et ça évite de stocker du texte inutilement dans les tables principales (puisqu'on remplace un libellé en texte par l'ID d'un enregistrement d'une autre table), mais ça complique beaucoup les requêtes SQL pour pouvoir afficher en clair l'élément choisi d'une liste : ça oblige à faire des jointures.

Bref, je cherche un moyen de faire autrement, et j'aimerais savoir comment vous autres procédez.

merci d'avance si vous avez des pistes,

Corinne Mils

Eléphant du PHP | 217 Messages

12 mars 2007, 19:53

Salut,
tu peux utiliser le type de champs ENUM avec mysql.
Le soucis de ce type de champs est le cas ou ton application doit évoluer vers du multilingue, sinon ce type de champ est optimisé pour ne pas prendre trop de place.
Le type SET est casiment identique, il permet d'assigner plusieurs valeurs d'une liste données.

Eléphanteau du PHP | 43 Messages

14 mars 2007, 10:55

Merci pour cette piste : je vais creuser !

Corinne