version étudiant

This commit is contained in:
jmd 2025-03-18 12:47:33 +01:00
commit d250c1906a
8 changed files with 508 additions and 0 deletions

65
afficheDepartements.php Normal file
View File

@ -0,0 +1,65 @@
<?php
/**
* PARAMETRES DE CONNEXION A LA BASE DE DONNEES
*/
$ip = 'localhost';
$user = 'phpapp';
$pass = 'myphp';
$database = 'universite';
// Définition de la source des données pour PDO
$dsn = "mysql:host=$ip;dbname=$database;charset=utf8mb4";
// Création de l'objet $dbh, de type PDO, qui est la ressource d'accès à la base
try {
$dbh = new PDO($dsn, $user, $pass);
} catch (PDOException $e) {
die("Erreur de connexion : ".$e->getMessage());
}
?>
<h1>Les différents départements : </h1>
<ul>
<?php
// Exécution d'une requête SQL
$stmtDomains = $dbh->query('SELECT * FROM domaine');
// Les résultats de la requête sont parcourus un par un, sous forme d'un tableau associatif $row
while (($row = $stmtDomains->fetch())) {
?>
<!-- A chaque département, un lien hypertexte permets d'envoyer à la page afficheMatieres.php le domaine d'enseignement
avec la méthode "GET" -->
<li><?=$row["dDomaine"]?> : <a href='afficheMatieres.php?domain=<?=$row["dDomaine"]?>'>Voir les enseignements</a></li>
<?php
}
?>
</ul>
<br>
<br>
<a href="index.php">Retour à l'accueil</a>
<?php
// Fermeture de la connexion
$stmtDomains = null;
$pdoStmt = null;
$dbh = null;
// Petite aide au développement
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<h3>SUIVI DES VARIABLES POUR DEVELOPPEMENT : </h3>";
echo "<h4>GLOBALS : </h4>";
echo '<pre>';
print_r($GLOBALS);

92
afficheEtudiants.php Normal file
View File

@ -0,0 +1,92 @@
<?php
/**
* PARAMETRES DE CONNEXION A LA BASE DE DONNEES
*/
$ip = 'localhost';
$user = 'phpapp';
$pass = 'myphp';
$database = 'universite';
// Définition de la source des données pour PDO
$dsn = "mysql:host=$ip;dbname=$database;charset=utf8mb4";
// Création de l'objet $dbh, de type PDO, qui est la ressource d'accès à la base
try {
$dbh = new PDO($dsn, $user, $pass);
} catch (PDOException $e) {
die("Erreur de connexion : ".$e->getMessage());
}
?>
<form action="afficheEtudiants.php" method="GET">
<legend>Quels étudiants afficher ?</legend>
<select name="diplome" id="diplome">
<option value="N">Etudiants actuels</option>
<option value="O">Anciens élèves</option>
</select>
<input type="submit" value="Valider" />
</form>
<table>
<thead>
<td><b>Nom</b></td>
<td><b>Prénom</b></td>
<td><b>Email</b></td>
</thead>
<?php
// Il est vérifié que le diplome a bien été fourni à la page.
if($_GET['diplome'] != null) {
// écriture en amont de la requête
$query = 'SELECT eNom, ePrenom, eEmail FROM etudiant WHERE eDiplome = "'.$_GET['diplome'].'"';
// Exécution de la requête
$stmtEtudiants = $dbh->query($query);
// Les résultats sont parcourus
while($rowEtudiant = $stmtEtudiants->fetch())
{
?>
<tr>
<td><?=$rowEtudiant['eNom'] ?></td>
<td><?=$rowEtudiant['ePrenom']?></td>
<td><?=$rowEtudiant['eEmail'] ?></td>
</tr>
<?php
}
?>
</table>
<br>
<br>
<a href="index.php">Retour à l'accueil</a>
<?php
}
// Fermeture de la connexion
$pdoStmt = null;
$dbh = null;
// Petite aide au développement
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<h3>SUIVI DES VARIABLES POUR DEVELOPPEMENT : </h3>";
echo "<h4>GLOBALS : </h4>";
echo '<pre>';
print_r($GLOBALS);

96
afficheFormations.php Normal file
View File

@ -0,0 +1,96 @@
<?php
/**
* PARAMETRES DE CONNEXION A LA BASE DE DONNEES
*/
$ip = 'localhost';
$user = 'phpapp';
$pass = 'myphp';
$database = 'universite';
// Définition de la source des données pour PDO
$dsn = "mysql:host=$ip;dbname=$database;charset=utf8mb4";
// Création de l'objet $dbh, de type PDO, qui est la ressource d'accès à la base
try {
$dbh = new PDO($dsn, $user, $pass);
} catch (PDOException $e) {
die("Erreur de connexion : ".$e->getMessage());
}
?>
<h1>Formations proposées : </h1>
<?php
// Exécution d'une requête SQL
$stmtFormations = $dbh->query('SELECT fSigle, fNom FROM formation');
// Les résultats de la requête sont parcourus un par un, sous forme d'un tableau associatif $row
while (($row = $stmtFormations->fetch())) {
?>
<!-- On accède à chaque champ obtenu par son identifiant dans la abse-->
<h2>Contenu de la formation : <?=$row['fNom']?></h2>
<table>
<thead>
<td><b>Matière</b></td>
<td><b>Volume horaire</b></td>
<td><b>Coefficient</b></td>
<td><b>Description de l'enseignement</b></td>
</thead>
<?php
// Ecriture de la requête SQL
$query = 'SELECT cVolHoraire, cCoeff, mNom, mDescription
FROM contenu INNER JOIN matiere ON cMatiere = mSigle
WHERE cFormation = "'.$row['fSigle'].'"';
// Exécution de la requête
$stmtContenus = $dbh->query($query);
// Les résultats sont parcourus
while($rowContenu = $stmtContenus->fetch()){
?>
<!-- Les résultats sont affichés dans un tableau -->
<tr>
<td><?=$rowContenu['mNom'] ?></td>
<td><?=$rowContenu['cVolHoraire']." H" ?></td>
<td><?=$rowContenu['cCoeff'] ?></td>
<td><?=$rowContenu['mDescription'] ?></td>
</tr>
<?php
}
?>
</table>
<?php
}
?>
<br>
<br>
<a href="index.php">Retour à l'accueil</a>
<?php
// Fermeture de la connexion
$stmtFormations = null;
$pdoStmt = null;
$dbh = null;
// Petite aide au développement
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<h3>SUIVI DES VARIABLES POUR DEVELOPPEMENT : </h3>";
echo "<h4>GLOBALS : </h4>";
echo '<pre>';
print_r($GLOBALS);

91
afficheMatieres.php Normal file
View File

@ -0,0 +1,91 @@
<?php
/**
* PARAMETRES DE CONNEXION A LA BASE DE DONNEES
*/
$ip = 'localhost';
$user = 'phpapp';
$pass = 'myphp';
$database = 'universite';
// Définition de la source des données pour PDO
$dsn = "mysql:host=$ip;dbname=$database;charset=utf8mb4";
// Création de l'objet $dbh, de type PDO, qui est la ressource d'accès à la base
try {
$dbh = new PDO($dsn, $user, $pass);
} catch (PDOException $e) {
die("Erreur de connexion : ".$e->getMessage());
}
// Il est vérifié que le domaine a bien été fourni à la page.
if($_GET['domain'] != null) {
// écriture en amont de la requête
$query = 'SELECT mSigle, mNom, mDescription FROM matiere WHERE mDomaine = :domaine';
// Préparation de la requête
$stmtMatieres = $dbh->prepare($query);
// Association de la variable au paramètre
$stmtMatieres->bindParam(":domaine", $_GET['domain']);
// Exécution de la requête
$stmtMatieres->execute();
?>
<table>
<thead>
<td><b>Intitulé</b></td>
<td><b>Description</b></td>
<td></td>
<td></td>
</thead>
<?php
// Les résultats de la requête sont parcourus un par un, sous forme d'un tableau associatif $row
while ($row = $stmtMatieres->fetch()) {
?>
<tr>
<td><?=$row['mNom'] ?></td>
<td><?=$row['mDescription'] ?></td>
<td><a href="modifMatiere.php?id=<?=$row['mSigle']?>">Modifier</a></td>
<td><a href="supprimeMatiere.php?id=<?=$row['mSigle']?>">Supprimer</a></td>
</tr>
<?php
}
?>
</table>
<?php
}
else{
header('Location : index.php');
}
?>
<br>
<br>
<a href="index.php">Retour à l'accueil</a>
<?php
// Fermeture de la connexion
$stmtDomains = null;
$pdoStmt = null;
$dbh = null;
// Petite aide au développement
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<h3>SUIVI DES VARIABLES POUR DEVELOPPEMENT : </h3>";
echo "<h4>GLOBALS : </h4>";
echo '<pre>';
print_r($GLOBALS);

21
index.php Normal file
View File

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Index TD07</title>
</head>
<body>
<h1>TD07 : Base de données universitaire</h1>
<br>
<a href="afficheEtudiants.php">Tableau des étudiants inscrits</a>
<br>
<br>
<a href="afficheFormations.php">Formations disponibles</a>
<br>
<br>
<a href="afficheDepartements.php">Les différents départements</a>
</body>
</html>

75
modifMatiere.php Normal file
View File

@ -0,0 +1,75 @@
<?php
/**
* PARAMETRES DE CONNEXION A LA BASE DE DONNEES
*/
$ip = 'localhost';
$user = 'phpapp';
$pass = 'myphp';
$database = 'universite';
// Définition de la source des données pour PDO
$dsn = "mysql:host=$ip;dbname=$database;charset=utf8mb4";
// Création de l'objet $dbh, de type PDO, qui est la ressource d'accès à la base
try {
$dbh = new PDO($dsn, $user, $pass);
} catch (PDOException $e) {
die("Erreur de connexion : ".$e->getMessage());
}
// Il est vérifié que l'identifiant a bien été fourni.
if($_GET['id'] != null) {
// écriture en amont de la requête
$query = 'SELECT mNom, mDescription FROM matiere WHERE mSigle = :id';
// Préparation de la requête
# .. A COMPLETER
// Association de la variable au paramètre
# ...A COMPLETER
// Exécution de la requête
$stmtMatieres->execute();
// Les résultats de la requête sont parcourus un par un, il n'y en aura logiquement qu'un
while ($row = $stmtMatieres->fetch()) {
?>
<form action="updateMatiere.php" method="GET">
<textarea name="nom" cols="30" rows="2"><!-- A COMPLETER : Pré-remplir avec le nom --></textarea>
<textarea name="description" cols="30" rows="5" ><?=$row['mDescription']?></textarea>
<input type="hidden" name="sigle" value=<?=$_GET['id']?>>
<input type="submit" value="Modifier">
</form>
<?php
}
}
else{
header('Location : index.php');
}
?>
<br>
<br>
<a href="index.php">Retour à l'accueil</a>
<?php
// Fermeture de la connexion
$stmtDomains = null;
$pdoStmt = null;
$dbh = null;
// Petite aide au développement
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<h3>SUIVI DES VARIABLES POUR DEVELOPPEMENT : </h3>";
echo "<h4>GLOBALS : </h4>";
echo '<pre>';
print_r($GLOBALS);

28
supprimeMatiere.php Normal file
View File

@ -0,0 +1,28 @@
<?php
/**
* PARAMETRES DE CONNEXION A LA BASE DE DONNEES
*/
$ip = 'localhost';
$user = 'phpapp';
$pass = 'myphp';
$database = 'universite';
// Définition de la source des données pour PDO
$dsn = "mysql:host=$ip;dbname=$database;charset=utf8mb4";
// Création de l'objet $dbh, de type PDO, qui est la ressource d'accès à la base
try {
$dbh = new PDO($dsn, $user, $pass);
} catch (PDOException $e) {
die("Erreur de connexion : ".$e->getMessage());
}
if ($_GET['id'] != null)
{
# COMPLETER AVEC L'ECRITURE D'UNE REQUETE DE SUPPRESSION, SA PREPARATION ET SON EXECUTION
}
else{
header('Location : index.php');
}

40
updateMatiere.php Normal file
View File

@ -0,0 +1,40 @@
<?php
/**
* PARAMETRES DE CONNEXION A LA BASE DE DONNEES
*/
$ip = 'localhost';
$user = 'phpapp';
$pass = 'myphp';
$database = 'universite';
// Définition de la source des données pour PDO
$dsn = "mysql:host=$ip;dbname=$database;charset=utf8mb4";
// Création de l'objet $dbh, de type PDO, qui est la ressource d'accès à la base
try {
$dbh = new PDO($dsn, $user, $pass);
} catch (PDOException $e) {
die("Erreur de connexion : ".$e->getMessage());
}
if ($_GET['sigle'] != null && $_GET['nom'] != null && $_GET['description'] != null)
{
// écriture en amont de la requête
$updateStmt = "UPDATE matiere SET mNom = :nom, mDescription = :description WHERE mSigle = :sigle";
// Préparation de la requête
$pdoUpdateStmt = $dbh->prepare($updateStmt);
// Les variables sont liées à la requête
$pdoUpdateStmt->bindParam(":nom", $_GET['nom']);
$pdoUpdateStmt->bindParam(":description", $_GET['description']);
$pdoUpdateStmt->bindParam(":sigle", $_GET['sigle']);
// Exécution de la requête
$pdoUpdateStmt->execute();
//Fermeture de connexion
$pdoUpdateStmt=null;
$dbh=null;
// Redirection
header('location: index.php');
}
else{
header('Location : index.php');
}