Université de Paris-est Marne-la-Vallée 1 / 3
TP PHP/MySQL : Base de données de type Annuaire
Préparation de l’environnement :
1. Récupérez le fichier t_personne.sql. Ce script SQL va vous permettre de créer la table t_personne et ses 38 enregistrements. Récupérez aussi le formulaire form_BD.html.
2. A l’aide du fichier t_personne.sql, créez une table "t_personne". La table contiendra 6 champs : - num : tinyint (donc 0 à 255), unsigned, primaire, not null, auto-incrementation
- nom : varchar(20), not null, index - prenom : varchar(20), null
- titre : enum, taille/valeurs : '1','2','3' // 1 pour M. ; 2 pour Mme ; 3 pour Mlle.
- date_n : date, null, index // format iso AAAA-MM-JJ - service: varchar(4), null
3. Créez avec l'interface graphique une table "t_service" à 2 champs : - code_service : varchar (4), not null, primaire
- lib_service : varchar(20), not null
4. Introduisez dans la table "t_service" les enregistrements suivants:
pers personnel prod productique comm commercial dvlp développement logi logistique
5. Créez avec une requête SQL une table "t_loisir" à 2 champs : - code_loisir : varchar (3), not null, primaire
- lib_loisir : varchar(20), not null
6. Avec des requêtes SQL, introduisez dans la table "t_loisir" les enregistrements suivants (à respecter pour le jeu d'essai…):
spo Sport mus Musique jeu Jeux voy Voyages
Pages php à créer
1. Modifiez le formulaire de saisie form_BD.html pour que la liste des services provienne du contenu de la table t_service.
Le formulaire aura comme action l'appel d'une page recherche.php en méthode GET.
2. Effectuez la même opération pour les loisirs afin que la liste des loisirs provienne du contenu de la table t_loisir..
Université de Paris-est Marne-la-Vallée 2 / 3
3. Créez un formulaire form_loisir.html permettant de saisir un code loisir et un libellé de loisir. Ce formulaire devra appeler le programme php « insertion_loisir.php ».
4. Créez la page insertion_loisir.php qui insère un nouvel enregistrement dans la table t_loisir à partir de la saisie d'un nouveau loisir dans le formulaire form_loisir.html.
Elle affiche un message de confirmation (ex : L'enregistrement de code nat et de libellé Natation a bien été ajouté) sinon un message d’erreur sera ajouté.
Améliorez le programme pour être sûr que le programme a été appelé en passant par le formulaire.
Affichez un message d’erreur si ce n’est pas le cas.
Université de Paris-est Marne-la-Vallée 3 / 3
5. Créez une page synthese.php qui affiche les services et le nombre de salariés par service.
6. Créez une page liste.php qui affiche la liste triée des salariés sous la forme suivante :
7. Créez la page recherche.php. Quand on met un nom (ou seulement le début de nom) dans la zone de saisie du formulaire, cette page affiche la liste des enregistrements recherchés sous forme d'un tableau.
Ce programme est appelé par le formulaire de saisie réalisé au début du TP.
Améliorez votre programme pour que le nom contienne une partie du non saisi !
8. Autres possibilités :
- Gérer l'absence de réponse par un message adapté (Il n'y a personne de ce nom là...).
- Classer (en SQL) le tableau dans l'ordre de nom, prénom.
- Afficher le titre en abrégé (Mlle, Mme, M.) plutôt que 3, 2 et 1.
- Afficher la date de naissance en format français usuel (JJ-MM-AAAA).
- Ajouter une colonne avec l'âge (rubrique SQL calculée).
- Afficher les lignes du tableau en 2 couleurs alternées.
- Afficher les loisirs choisis (liste séparée par des virgules).
- Prévoir une modification et une suppression de personne (par bouton de formulaire ou lien) à côté du nom de la personne.