BDD1 TP PHP/MySQL : Base de données de type Annuaire Préparation 1. Créez un dossier tp_bd_php dans votre dossier WWW/test dans lequel vous mettrez vos fichiers. 2. Sur http://igm.univ-mlv.fr/~fpetit/ , récupérez le fichier t_personne.sql (par un clic droit puis enregistrer le lien ou la cible sous...). 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. Accès à l'administration de la base de données MySQL avec phpMyAdmin 3. Accédez à l'administration de votre base de données MySQL à UMLV par http://etudiant.univmlv.fr/connect/ puis par Gérer sa base de données MySQL. Authentifiez-vous avec login et mot de passe. Création d'une table avec un script SQL préexistant avec phpMyAdmin 4. Cliquez à gauche sur votre base de données (monlogin_db), puis sur l'onglet SQL de l'interface graphique, parcourez votre arborescence pour trouver le fichier t_personne.sql et exécutez le fichier. Une table "t_personne" à 6 champs va être créée : - 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 Création de 2 tables avec phpMyAdmin 5. 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 6. Introduisez dans la table "t_service" les enregistrements suivants (à respecter pour le jeu d'essai…): pers prod comm dvlp logi personnel productique commercial développement logistique 7. Créez avec l'interface graphique une table "t_loisir" à 2 champs : - code_loisir : varchar (3), not null, primaire - lib_loisir : varchar(20), not null 8. Introduisez dans la table "t_loisir" les enregistrements suivants (à respecter pour le jeu d'essai…): spo mus jeu voy Sport Musique Jeux Voyages Rappel : Votre base de données s'appelle votrelogin_db et est stockée sur le serveur (hôte) sqletud. Université de Marne-la-Vallée Informatique / web 7 avril 2006 G. Molinengault & F. Petit / TP_PHP_BD.doc 1/2 BDD1 Pages php à créer 9. Modifiez le formulaire de saisie form_BD.html pour que la liste des services provienne du contenu de la table t_service, et que la liste des loisirs provienne du contenu de la table t_loisir. Le formulaire aura comme action l'appel d'une page recherche.php en méthode GET. 10. 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é). 11. Créez une page synthese.php qui affiche les services et le nombre de salariés par service. 12. Créez une page liste.php qui affiche la liste des salariés sous la forme suivante : Nombre d'enregistrements : 38 N° 1 … 41 Nom Amara … Prénom Lise … Titre 3 … Date 1985-01-31 .. Service pers … 13. 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. 14. 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 le service sous forme complète (personnel) issue de la table t_personne. - 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. - Afficher la liste 10 enregistrements par 10 enregistrements avec un menu de navigation (Précédent, Suivant). La même page recherche.php sera utilisée en lui passant des paramètres différents. 38 enregistrements N° 1 … Nom Amara … Prénom Lise … < précédent Titre Mlle … Date 31-01-1978 Age (ans) 24 personnel Service … suivant > Remarque : Fonction permettant de rediriger vers une autre page : header('Location: page1.php'); Elle doit être utilisée dans un script avant toute insertion de html. Elle est souvent utilisée avec un if pour rediriger vers des pages différentes (exemple : une page de modification ou une page de suppression selon le bouton cliqué...). Université de Marne-la-Vallée Informatique / web 7 avril 2006 G. Molinengault & F. Petit / TP_PHP_BD.doc 2/2