Vous êtes sur la page 1sur 5

Master Sciences et Technologies

Mention ASE - Spcialit SMaRT

Travaux Pratiques de PHP

1. Pages dynamiques paramtres.


1.1. crire un script mult1.php qui affiche la table de multiplication (de 0 10 fois) d'un nombre entier (nomm multiplicande) transmis dans le param!tre nb (cf. fi"ure 1.1). #ans ce premier e$ercice l'afficha"e se fait sous forme te$tuelle uniquement (pas de tableau %&M'). 0()*0 1()*) + ( ) * 10 , ( ) * 1) - ( ) * +0 ) ( ) * +) . ( ) * ,0 / ( ) * ,) 0 ( ) * -0 1 ( ) * -) 10 ( ) * )0 2i"ure 1.1 3 mult1.php?nb=5 0 ( 1. * 1 ( 1. * + ( 1. * , ( 1. * - ( 1. * ) ( 1. * . ( 1. * / ( 1. * 0 1. ,+ -0 .00 1. 11+ 0 0 0 0 0 0 0 0 1 2 3 0 0 0 1 + , + - . , . 1 - 0 1+ ) 10 1) . 1+ 10 4 0 0 1+ 1. +0 +5 0 ) 10 1) +0 +) ,0 6 0 . 1+ 10 +,0 ,. 7 0 / 1+1 +0 ,) -+ 8 0 0 1. +,+ -0 -0

0 1 2 3 4 5 6

2i"ure 1.+ 3 mult2.php?nb=16&m=7

2i"ure 1., 3 mult3.php?nb=8&m=6

1.+. crire un script mult2.php qui affiche tou4ours la table de multiplication d'un nombre entier transmis dans le param!tre nb mais en fournissant en plus le multiplicateur ma$imum m en param!tre. #ans ce second e$ercice on souhaite aussi que l'afficha"e se fasse sous forme de tableau %&M' dont les cellules sont 4ustifies droite (cf. fi"ure 1.+). 1.,. crire un script mult3.php qui affiche une table de multiplication deu$ entres chacune allant de 0 un nombre entier transmis en param!tre (multiplicande nb et multiplicateur m) (cf. fi"ure 1.,). 5n souhaite que l'afficha"e se fasse sous forme de tableau %&M' dont les cellules sont 4ustifies droite et comportant les nombres en ent6tes (de 0 nb en colonnes et de 0 m en li"nes).

2. Formulaires et mthode

!".

+.1. crire un formulaire form1.html (cf. fi"ure +.1(a)) dans lequel l'utilisateur peut saisir la 7aleur du multiplicande nb a7ant d'appeler le script mult1.php (cf. fi"ure +.1(b)). 2i"ure +.1(a) 3 form1.html
0(/*0 1(/*/ + ( / * 18

2i"ure +.1(b) 3 mult1.php?nb=7

+.+. crire un formulaire form2.html (cf. fi"ure +.+(a)) dans lequel l'utilisateur peut saisir la 7aleur du multiplicande (ma$imal) nb et du multiplicateur ma$imal m et peut choisir le mode d'afficha"e de la table de multiplication 3 GESTION des DONNES INDUSTRIELLES !AGES "E# D$NAMI%UES 19-

Master Sciences et Technologies

Mention ASE - Spcialit SMaRT

- soit de 0 m fois le nombre nb (comme dans mult2.php) (cf. fi"ure +.+(b)) : - soit de 0 m fois les nombres de 0 nb (comme dans mult3.php) (cf. fi"ure +.+(c)). 'e nou7eau script appel ici mult4.php doit tester le mode choisi et raliser l'afficha"e adquat. 0(0* 1(0* +(0* ,(0* -(0* )(0* .(0* /(0* 2i"ure +.+(a) 3 form2.html 0 0 1. +,+ -0 -0 ). 0 0 0 0 0 0 0 0 1 2 3 0 0 0 1 + , + - . , . 1 - 0 1+ ) 10 1) . 1+ 10 4 0 0 1+ 1. +0 +5 0 ) 10 1) +0 +) ,0 6 0 . 1+ 10 +,0 ,. 7 0 / 1+1 +0 ,) -+ 8 0 0 1. +,+ -0 -0

0 1 2 3 4 5 6

2i"ure +.+(b) 3 mult4.php?nb=8&m=7&mode=1D

2i"ure +.+(c) 3 mult4.php?nb=8&m=6&mode=2D

+.,. ;ue se passe-t-il si l'utilisateur omet de saisir le multiplicande et9ou le multiplicateur ou effectue des saisies errones dans ces champs de formulaire < =omplter le script de traitement (mult4.php) pour le rendre robuste ces probl!mes. +.-. >ne alternati7e est de n'e$cuter le traitement que lorsque le formulaire a t correctement rempli. ?our cela le formulaire et son traitement doi7ent 6tre re"roups dans un script ?%? unique. crire ce script (mult5.php) qui doit 6tre rediri" sur lui-m6me (attribut action de la balise &fo'm() sauf lorsque toutes les informations sont correctes (il e$cute alors le traitement @ ici l'afficha"e de la table de multiplication).

3. #$$%s & une 'ase de donnes.


#ans cette partie nous tra7aillons sur la base Etudiants dont le schma relationnel est donn ci-contre.

,.1. crire un script afficher_etu.php qui affiche toute la table etudiants de la base Etudiants sous forme de tableau dans une pa"e %&M' (cf. fi"ure ,.1).

2i"ure ,.1 3 afficher_etu.php

2i"ure ,.+ 3 afficher_etu_tri1.php?ch=se e

2i"ure ,., 3 afficher_etu_tri2.php?ch=se e +9-

GESTION des DONNES INDUSTRIELLES !AGES "E# D$NAMI%UES

Master Sciences et Technologies

Mention ASE - Spcialit SMaRT

,.+. Modifier le script prcdent en afficher_etu_tri1.php pour qu'il affiche la table etudiants dans l'ordre croissant du champ dont le nom est fourni dans le param!tre ch du script (cf. fi"ure ,.+). ,.,. Modifier le script prcdent en afficher_etu_tri2.php afin d'offrir l'utilisateur la possibilit de trier selon un champ donn en cliquant sur l'ent6te de ce dernier transform en hAperlien (cf. fi"ure ,.,). ,.-. crire un script afficher_liste_etu.php qui propose une liste droulante des tudiants prsents dans la table Etudiant (cf. fi"ure ,.-).

2i"ure ,.- 3 afficher_liste_etu.php

2i"ure ,.) 3 afficher_infos_etu.php

,.). =omplter le script prcdent en afficher_infos_etu.php pour qu'il affiche les informations relati7es l'tudiant choisi dans la liste (cf. fi"ure ,.)). a) #ans un premier temps on cre un bouton B 5C D pour que l'utilisateur soumette son choi$. =ette donne est en7oAe au m6me script par la mthode EF& (permet de 7rifier qu'elle est bien transmise). ;uelle donne (associe l'attribut )alue des balises &option() prconiseG-7ous de transmettre < Rema'*ue 3 pour le moment quel que soit le choi$ de l'utilisateur c'est tou4ours le premier tudiant de la liste qui est slectionn au char"ement de la pa"e. b) #ans un second temps on souhaite soumettre automatiquement le choi$ de l'utilisateur le bouton B 5C D de7enant inutile. ?our cela il faut utiliser le code +a)asc'ipt su,mit-./ dans l'attribut On0hange de la balise &select(. #e plus les informations de l'tudiant doi7ent 6tre affiches de sorte que le code ?%? soit 7alable quels que soient le nombre et les noms de champs. >tiliser pour cela les fonctions mysql_num_fields et mysql_field_name. c) #ans un troisi!me temps on souhaite faire en sorte que l'tudiant choisi par l'utilisateur soit slectionn par dfaut dans la liste apr!s soumission. ,... crire un script afficher_notes_etu.php qui affiche une liste droulante des tudiants prsents dans la base ainsi que le rele7 de notes de celui que l'utilisateur a choisi (cf. fi"ure ,..). 5n souhaite que la moAenne s'affiche en rou"e si elle est infrieure 10.

GESTION des DONNES INDUSTRIELLES !AGES "E# D$NAMI%UES

,9-

Master Sciences et Technologies

Mention ASE - Spcialit SMaRT

2i"ure ,.. 3 afficher_notes_etu.php ,./. Modifier le script prcdent en modifier_notes_etu.php pour permettre l'utilisateur de saisir de nou7elles notes pour l'tudiant choisi (cf. fi"ure ,./). crire le script de traitement (modifier_notes_etu_tr.php) de ce formulaire.

2i"ure ,./ 3 modifier_notes_etu.php ,.0. #upliquer nou7eau le script afficher_notes_etu.php en le renommant a!outer_note_etu.php. Modifier celui-ci pour qu'il permette l'utilisateur d'a4outer une nou7elle note pour l'tudiant choisi et ce uniquement si l'tudiant n'a pas encore de notes dans les ) mati!res (cf. fi"ure ,.0). ?our trou7er les mati!res dans lesquelles l'tudiant n'est pas encore not on utilisera des tableau$ ?%? et la fonction array_diff_assoc. crire le script de traitement (a!outer_note_etu_tr.php) de ce formulaire.

GESTION des DONNES INDUSTRIELLES !AGES "E# D$NAMI%UES

-9-

Master Sciences et Technologies

Mention ASE - Spcialit SMaRT

2i"ure ,.0 3 a!outer_note_etu.php

GESTION des DONNES INDUSTRIELLES !AGES "E# D$NAMI%UES

)9-

Vous aimerez peut-être aussi