Vous êtes sur la page 1sur 4

Chapitre III : Pages Web Dynamiques – Application 01 4S.I.

Application 01 – Php & MySQL


Sous la racine des documents du serveur web Apache, créer un dossier de travail en le nommant "SW-App-01"
où seront enregistrés tous les documents à réaliser.
Afin d’automatiser la gestion des élèves, on se propose de créer une partie simplifiée d’un site web permettant
de : La saisie / consultation / suppression des élèves et La modification des notes des élèves
Travail Demandé :
A. Création de la base de données
1) Créer une base de données intitulée "BD-App-01" puis créer la table suivante :
Eleves(ID, Nom, DC, DS) Champ Type Observation
Le tableau ci-contre indique la ID Chaîne de 6 caractères L'identifiant de l'élève
description des champs de la table Nom Chaîne de 50 caractères Le nom complet de l’élève
Eleves : DC Décimal(4,2) La note du devoir de contrôle
DS Décimal(4,2) La note du devoir du synthèse
2) Dans la table "Eleves", insérer les
lignes suivantes :
3) Exporter la base au format Sql sous le nom attribué dans la ID Nom DC DS
première question. 009178 Besma Missaoui 12.5 11.00
B. Création des pages Web 010015 Imed Gargouri 05.75 08.50
N.B : Dans chaque formulaire à créer, le clic sur le bouton 009929 Ali Hammouda 19.25 18.75
"Annuler" permettra d’initialiser ses champs.
1) Créer la page "Index.html" qui contient les liens vers les pages "Ajouter.html", "Modifier.html",
"Supprimer.html", "Lister.php" et "Supprimer6.php".
2) Créer la page "Ajouter.html" contenant le formulaire ci-contre :

Ajouter.html
Le clic sur le bouton "Valider" fait appel à un script Php, développé
dans le fichier "Ajouter.php", permettant d’insérer les données dans
la table "Eleves" et afficher un message de réussite de l’opération.
3) Créer la page "Modifier.html" contenant le formulaire ci-contre :
Le clic sur le bouton "Modifier" fait appel à un script Php, développé

Modifier.html
dans le fichier "Modifier.php", permettant de :
• Afficher le message "Élève inexistant" dans le cas où la valeur
saisie de l’ID n’existe pas dans la base.
Ou bien,
• Mettre à jour la note du DS de l’élève concerné puis afficher un message
Supprimer.html

de réussite de l’opération.
4) Créer la page "Supprimer.html" contenant le formulaire suivant :
Le clic sur le bouton "Supprimer" fait appel à un script Php, développé dans le
fichier "Supprimer.php", permettant de supprimer l’élève choisi à partir de la
table "Eleves".
5) Créer la page "Lister.php" permettant d’afficher dans un tableau, les noms de tous les élèves, chacun
est suivi de sa moyenne, sachant que : Moyenne=(DC+2*DS)/3
6) Créer la page "Supprimer6.php" contenant le formulaire ci-contre :
Supprimer6.php

• La liste des élèves est chargée automatiquement à partir de la table


"Eleves".
• Le clic sur le bouton "Supprimer" permet de supprimer l'élève
correspondant à partie de la base de données.

Lycée Attarine Ariana © 2019-2020 Page 1/4 Lycee.attarine@gmail.com


Chapitre III : Pages Web Dynamiques – Application 01 4S.I.
Application 01 - Corrigé

Ajouter.php
<?php T1

tml
Ajouter.h
//Récupération des Champs T1, T2, T3 et T4 T2
$ID = $_POST["T1"]; T3
$Nom = $_POST["T2"]; T4
$DC = $_POST["T3"];
$DS = $_POST["T4"];
//Connexion à MySQL & Sélection de la BD
mysql_connect("localhost", "root");
mysql_select_db("BD-App-01") or die('E1: '. mysql_error());
//Exécution de la requête d'insertion
$Q = "INSERT INTO Eleves VALUES('$ID','$Nom',$DC,$DS)";
mysql_query($Q) or die('E2: '. mysql_error()); //Si "erreur", on quitte le script

echo "Le nouvel élève a été ajouté avec succès";


?>
Modifier.php
<?php
//Récupération des Champs T1, T2 (l'ID et la note du DS)

Modifier.html
$ID = $_POST["T1"];
$DS = $_POST["T2"]; T1
//Connexion à MySQL & Sélection de la BD T2
mysql_connect("localhost", "root");
mysql_select_db("BD-App-01") or die('E1: ' . mysql_error());

//-------------------------------------------------------
//Vérifier l'existence de l'élève: 1ère Méthode
//-------------------------------------------------------
$Q = "SELECT * FROM Eleves WHERE ID='$ID'";
$R = mysql_query($Q) or die('E2: ' . mysql_error());

if (mysql_num_rows($R) == 0) // Si Ressource vide


die("Élève inexistant");

//-------------------------------------------------------
//Vérifier l'existence de l'élève: 2ème Méthode
//-------------------------------------------------------
$Q = "SELECT COUNT(*) FROM Eleves WHERE ID='$ID'";
$R = mysql_query($Q) or die('E3: ' . mysql_error());

$Tab = mysql_fetch_array($R);
if ($Tab["COUNT(*)"] == 0)
exit("Élève inexistant");

//Si PHP n'a pas quitté le script, c'est que l'élève(ID) existe
//==>On met à jour de la note du DS de l'élève
$Q = "UPDATE Eleves SET DS=$DS WHERE ID='$ID'";
mysql_query($Q) or die('E4: ' . mysql_error());
echo "Opération de mise à jour réussite";
?>

Lycée Attarine Ariana © 2019-2020 Page 2/4 Lycee.attarine@gmail.com


Chapitre III : Pages Web Dynamiques – Application 01 4S.I.

Supprimer.php

Supprimer.html
<?php
D1
//Récupération de la valeur de l'élément
//sélectionné de la liste déroulante D1
$ID = $_POST["D1"];
//Connexion à MySQL & Sélection de la BD
mysql_connect("localhost","root");
mysql_select_db("BD-App-01") or die('E1: ' . mysql_error());
//Suppression de l'élève
$Q = "DELETE FROM Eleves WHERE ID='$ID'";
mysql_query($Q) or die('E2: ' . mysql_error());

if (mysql_affected_rows() > 0){


echo "L'élève ($ID), est supprimé avec succès";
} else {
echo "Auncune suppression n'est faite! <br>";
echo "Il se peut qu'aucun élève dans la BD avec l'id: $ID.";
}
?>

Lister.php

<title>Lister</title>
<meta charset="utf-8">
<?php
//Connexion à MySQL et Sélection de la BD
mysql_connect("localhost","root") or die('E1: '. mysql_error());
mysql_select_db("BD-App-01") or die('E2: '. mysql_error());

//Exécution de la requête de sélection:


$Q = "SELECT Nom, (DC + 2*DS)/3 as Moy FROM Eleves";
$R=mysql_query($Q) or die('E3: '. mysql_error());
?>
<table border=1>
<tr>
<th>Nom & Prénom</th>
<th>Moyenne</th>
</tr>
<?php
while ($T=mysql_fetch_array($R)){
$Nom = $T['Nom'];
$Moy = $T['Moy'];
$Moy = round($Moy, 2); // Précision de 2 chiffres après la virgule
echo "<tr>";
echo "<td> $Nom</td>";
echo "<td> $Moy</td>";
echo "<tr>";
}
?>
</table>

Lycée Attarine Ariana © 2019-2020 Page 3/4 Lycee.attarine@gmail.com


Chapitre III : Pages Web Dynamiques – Application 01 4S.I.

Supprimer6.php
<?php
//Connexion à MySQL & Sélection de la BD
mysql_connect("localhost","root");
mysql_select_db("BD-App-01") or die('E1: ' . mysql_error());
?>

<html>

<head>
<meta charset="utf-8">
<title>Question 6 - Supprimer6</title>
</head>

<body>
<form name="F" method="post" action="Supprimer.php">
<table>
<tr>
<td>Nom:</td>
<td>
<select name="D1">
<?php
//Exécution de la requête de sélection:
$Q = "SELECT ID, Nom FROM Eleves";
$R = mysql_query($Q) or die('E2: ' . mysql_error());
while ($T=mysql_fetch_array($R)){
$ID = $T[0];
$Nom = $T[1];
echo "<option value='$ID'>$Nom</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td><button type="submit"><b>Supprimer</b></button></td>
<td><button type="Reset"><b>Annuler</b></button></td>
</tr>
</table>
</form>
<hr>
<a href="index.html">Retour à page d'accueil</a>
</body>

</html>

Lycée Attarine Ariana © 2019-2020 Page 4/4 Lycee.attarine@gmail.com

Vous aimerez peut-être aussi