TP PHP/MySQL : Base de données de type Annuaire

publicité
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.
Changement de mot de passe d'administration de la base de données MySQL dans phpMyAdmin
4. Il est préférable que votre mot de passe d'administration de base de données soit différent de celui de
votre compte. Pour le changer, ouvrez une fenêtre de requête SQL et tapez la requête suivante :
set password for "votrelogin"=password('nouveaumotdepasse');
Si vous oubliez votre mot de passe, pour le réinitialiser au mot de passe de votre compte (donné à
votre inscription), activez de nouveau votre base de données à partir de la page :
http://etudiant.univ-mlv.fr/connect/
Création d'une table avec un script SQL préexistant avec phpMyAdmin
5. 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
6. 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
7. 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
8. 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
9. 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
11 mars 2007
F. Petit / TP_PHP_BD.doc
1/1
BDD1
Pages php à créer
10. 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.
11. 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é).
12. Créez une page synthese.php qui affiche les services et le nombre de salariés par
service.
13. 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
…
14. 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.
15. 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
11 mars 2007
F. Petit / TP_PHP_BD.doc
2/2
Téléchargement