PHP Smart TP
PHP Smart TP
PHP Smart TP
0*5=0 0 * 16 = 0 0 1 2 3 4 5 6 7 8
1*5=5 1 * 16 = 16 0 0 0 0 0 0 0 0 0 0
2 * 5 = 10
3 * 5 = 15 2 * 16 = 32 1 0 1 2 3 4 5 6 7 8
4 * 5 = 20 3 * 16 = 48 2 0 2 4 6 8 10 12 14 16
5 * 5 = 25 4 * 16 = 64 3 0 3 6 9 12 15 18 21 24
6 * 5 = 30
5 * 16 = 80 4 0 4 8 12 16 20 24 28 32
7 * 5 = 35
8 * 5 = 40 6 * 16 = 96 5 0 5 10 15 20 25 30 35 40
9 * 5 = 45 7 * 16 = 112 6 0 6 12 18 24 30 36 42 48
10 * 5 = 50
Figure 1.1 : Figure 1.2 : Figure 1.3 :
mult1.php?nb=5 mult2.php?nb=16&m=7 mult3.php?nb=8&m=6
1.2. crire un script mult2.php qui affiche toujours la table de multiplication dun nombre entier transmis
dans le paramtre nb, mais en fournissant en plus le multiplicateur maximum m en paramtre. Dans ce
second exercice, on souhaite aussi que laffichage se fasse sous forme de tableau HTML, dont les
cellules sont justifies droite (cf. figure 1.2).
1.3. crire un script mult3.php qui affiche une table de multiplication deux entres, chacune allant de 0
un nombre entier transmis en paramtre (multiplicande nb et multiplicateur m) (cf. figure 1.3). On
souhaite que laffichage se fasse sous forme de tableau HTML, dont les cellules sont justifies droite
et comportant les nombres en enttes (de 0 nb en colonnes et de 0 m en lignes).
2.2. crire un formulaire form2.html (cf. figure 2.2(a)) dans lequel lutilisateur peut saisir la valeur du
multiplicande (maximal) nb et du multiplicateur maximal m, et peut choisir le mode daffichage de la
table de multiplication :
0*8= 0 0 1 2 3 4 5 6 7 8
1*8= 8 0 0 0 0 0 0 0 0 0 0
2*8= 16 1 0 1 2 3 4 5 6 7 8
3*8= 24 2 0 2 4 6 8 10 12 14 16
4*8= 32 3 0 3 6 9 12 15 18 21 24
5*8= 40 4 0 4 8 12 16 20 24 28 32
6*8= 48 5 0 5 10 15 20 25 30 35 40
7*8= 56 6 0 6 12 18 24 30 36 42 48
Figure 2.2(a) : Figure 2.2(b) : Figure 2.2(c) :
form2.html mult4.php?nb=8&m=7&mode=1D mult4.php?nb=8&m=6&mode=2D
2.3. Que se passe-t-il si lutilisateur omet de saisir le multiplicande et/ou le multiplicateur, ou effectue des
saisies errones dans ces champs de formulaire ? Complter le script de traitement (mult4.php) pour le
rendre robuste ces problmes.
2.4. Une alternative est de nexcuter le traitement que lorsque le formulaire a t correctement rempli. Pour
cela, le formulaire et son traitement doivent tre regroups dans un script PHP unique. crire ce script
(mult5.php), qui doit tre redirig sur lui-mme (attribut action de la balise <form>), sauf lorsque
toutes les informations sont correctes (il excute alors le traitement ici, laffichage de la table de
multiplication).
3.1. crire un script afficher_etu.php qui affiche toute la table etudiants de la base Etudiants sous forme de
tableau dans une page HTML (cf. figure 3.1).
3.2. Modifier le script prcdent en afficher_etu_tri1.php pour quil affiche la table etudiants dans lordre
croissant du champ dont le nom est fourni dans le paramtre ch du script (cf. figure 3.2).
3.3. Modifier le script prcdent en afficher_etu_tri2.php afin doffrir lutilisateur la possibilit de trier
selon un champ donn en cliquant sur lentte de ce dernier transform en hyperlien (cf. figure 3.3).
3.4. crire un script afficher_liste_etu.php qui propose une liste droulante des tudiants prsents dans la
table Etudiant (cf. figure 3.4).
3.5. Complter le script prcdent en afficher_infos_etu.php pour quil affiche les informations relatives
ltudiant choisi dans la liste (cf. figure 3.5).
a) Dans un premier temps, on cre un bouton Ok pour que lutilisateur soumette son choix. Cette
donne est envoye au mme script par la mthode GET (permet de vrifier quelle est bien
transmise). Quelle donne (associe lattribut value des balises <option>) prconisez-vous de
transmettre ?
Remarque : pour le moment, quel que soit le choix de lutilisateur, cest toujours le premier tudiant
de la liste qui est slectionn au chargement de la page.
b) Dans un second temps, on souhaite soumettre automatiquement le choix de lutilisateur, le bouton
Ok devenant inutile. Pour cela, il faut utiliser le code javascript:submit(); dans lattribut
OnChange de la balise <select>. De plus, les informations de ltudiant doivent tre affiches de sorte
que le code PHP soit valable quels que soient le nombre et les noms de champs. Utiliser pour cela les
fonctions mysqli_num_fields et mysqli_fetch_field_direct.
c) Dans un troisime temps, on souhaite faire en sorte que ltudiant choisi par lutilisateur soit
slectionn par dfaut dans la liste aprs soumission.
3.6. crire un script afficher_notes_etu.php qui affiche une liste droulante des tudiants prsents dans la
base, ainsi que le relev de notes de celui que lutilisateur a choisi (cf. figure 3.6). On souhaite que la
moyenne saffiche en rouge si elle est infrieure 10.