commit f31fb975ac2aac1e8622465ce8dbc0aa385399b0 Author: jmd Date: Tue Feb 18 08:42:18 2025 +0100 td06 - exercices diff --git a/afficheDepartements.php b/afficheDepartements.php new file mode 100644 index 0000000..bca39a8 --- /dev/null +++ b/afficheDepartements.php @@ -0,0 +1,68 @@ +getMessage()); +} +?> + +

Les différents départements :

+ +
+
+Retour à l'accueil +"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "

SUIVI DES VARIABLES POUR DEVELOPPEMENT :

"; +echo "

GLOBALS :

"; +echo '
';
+print_r($GLOBALS);
\ No newline at end of file
diff --git a/afficheEtudiants.php b/afficheEtudiants.php
new file mode 100644
index 0000000..48d6dd3
--- /dev/null
+++ b/afficheEtudiants.php
@@ -0,0 +1,103 @@
+getMessage()); 
+}
+
+/**
+ * Le formulaire ci-dessous propose deux choix : les étudiants actuels, ou les anciens élèves.
+ * Le but est de lier ce choix à la colonne "eDiplome" de la table "etudiant"
+ * Si la valeur renseignée est O -> l'étudiant est diplômé et est un ancien élève
+ * Si la valeur renseignée est N -> l'étudiant est en cours d'études
+ * 
+ * Il renvoie sur LA PAGE COURANTE
+ */
+?>
+
+ Quels étudiants afficher ? + + +
+ + + + + + + + + + + + + + + +
NomPrénomEmail
+ + +
+
+Retour à l'accueil +"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "

SUIVI DES VARIABLES POUR DEVELOPPEMENT :

"; +echo "

GLOBALS :

"; +echo '
';
+print_r($GLOBALS);
\ No newline at end of file
diff --git a/afficheFormations.php b/afficheFormations.php
new file mode 100644
index 0000000..0553e83
--- /dev/null
+++ b/afficheFormations.php
@@ -0,0 +1,96 @@
+getMessage()); 
+}
+?>
+
+

Formations proposées :

+ +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())) { +?> + +

Contenu de la formation :

+ + + + + + + + +query($query); + // Les résultats sont parcourus + while($rowContenu = $stmtContenus->fetch()){ +?> + + + + + + + + + + +
MatièreVolume horaireCoefficientDescription de l'enseignement
+ + + + +
+
+Retour à l'accueil +"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "

SUIVI DES VARIABLES POUR DEVELOPPEMENT :

"; +echo "

GLOBALS :

"; +echo '
';
+print_r($GLOBALS);
\ No newline at end of file
diff --git a/afficheMatieres.php b/afficheMatieres.php
new file mode 100644
index 0000000..5618120
--- /dev/null
+++ b/afficheMatieres.php
@@ -0,0 +1,90 @@
+getMessage()); 
+}
+
+// Il est vérifié que le domaine a bien été fourni à la page.
+if($_GET['domain'] != null) {
+
+?>
+
+
+    
+        
+        
+    
+
+fetch()) {
+?>
+
+        
+            
+            
+        
+    
+
+
+
IntituléDescription
+ + +
+
+Retour à l'accueil +"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "
"; +echo "

SUIVI DES VARIABLES POUR DEVELOPPEMENT :

"; +echo "

GLOBALS :

"; +echo '
';
+print_r($GLOBALS);
\ No newline at end of file
diff --git a/index.php b/index.php
new file mode 100644
index 0000000..e84fab1
--- /dev/null
+++ b/index.php
@@ -0,0 +1,21 @@
+
+
+
+    
+    
+    Index TD04
+
+
+    

TD06 : Base de données universitaire

+
+Tableau des étudiants inscrits +
+
+Formations disponibles +
+
+Les différents départements + + + + \ No newline at end of file diff --git a/universite.sql b/universite.sql new file mode 100644 index 0000000..ea1b94d --- /dev/null +++ b/universite.sql @@ -0,0 +1,240 @@ +-- phpMyAdmin SQL Dump +-- version 5.2.1deb1 +-- https://www.phpmyadmin.net/ +-- +-- Hôte : localhost:3306 +-- Généré le : mar. 18 fév. 2025 à 07:35 +-- Version du serveur : 10.11.6-MariaDB-0+deb12u1 +-- Version de PHP : 8.2.26 + +SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; +START TRANSACTION; +SET time_zone = "+00:00"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8mb4 */; + +-- +-- Base de données : `universite` +-- +CREATE DATABASE IF NOT EXISTS `universite` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; +USE `universite`; + +-- -------------------------------------------------------- + +-- +-- Structure de la table `contenu` +-- + +CREATE TABLE `contenu` ( + `cFormation` varchar(5) NOT NULL, + `cMatiere` varchar(6) NOT NULL, + `cVolHoraire` int(11) NOT NULL, + `cCoeff` int(11) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +-- +-- Déchargement des données de la table `contenu` +-- + +INSERT INTO `contenu` (`cFormation`, `cMatiere`, `cVolHoraire`, `cCoeff`) VALUES +('COINT', 'ANGAVA', 10, 6), +('LITET', 'ANGAVA', 6, 4), +('CODOM', 'ANGSTD', 8, 4), +('DROPA', 'ANGSTD', 4, 2), +('DROSO', 'ANGSTD', 4, 2), +('LITFR', 'ANGSTD', 4, 3), +('CODOM', 'CONCOM', 12, 8), +('COINT', 'CONINT', 12, 8), +('DROPA', 'DROBAJ', 10, 8), +('DROSO', 'DROBAJ', 8, 6), +('DROSO', 'DROCDT', 10, 8), +('LITET', 'LITANA', 10, 8), +('LITFR', 'LITANA', 10, 8), +('COINT', 'LITOAN', 4, 2), +('LITET', 'LITOAN', 8, 6), +('CODOM', 'LITOFR', 4, 2), +('DROPA', 'LITOFR', 6, 3), +('LITFR', 'LITOFR', 8, 6); + +-- -------------------------------------------------------- + +-- +-- Structure de la table `domaine` +-- + +CREATE TABLE `domaine` ( + `dDomaine` varchar(15) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +-- +-- Déchargement des données de la table `domaine` +-- + +INSERT INTO `domaine` (`dDomaine`) VALUES +('Commerce'), +('Economie'), +('Juridique'), +('Langues'), +('Littérature'); + +-- -------------------------------------------------------- + +-- +-- Structure de la table `etudiant` +-- + +CREATE TABLE `etudiant` ( + `eId` int(11) NOT NULL, + `eNom` varchar(20) NOT NULL, + `ePrenom` varchar(20) NOT NULL, + `eEmail` varchar(40) NOT NULL, + `eTelephone` varchar(10) DEFAULT NULL, + `eDateNaissance` datetime NOT NULL, + `eDiplome` varchar(1) NOT NULL, + `eFormation` varchar(5) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +-- +-- Déchargement des données de la table `etudiant` +-- + +INSERT INTO `etudiant` (`eId`, `eNom`, `ePrenom`, `eEmail`, `eTelephone`, `eDateNaissance`, `eDiplome`, `eFormation`) VALUES +(2, 'Vakarian', 'Garus', 'g.vak@gmail.com', NULL, '2005-03-21 15:48:50', 'N', 'CODOM'), +(3, 'Urdnot', 'Wrex', 'w.urdnot@protonmail.fr', NULL, '2024-03-26 15:48:50', 'N', 'DROPA'), +(4, 'Shepard', 'John', 'j.s@normandy.com', NULL, '2024-03-07 13:49:13', 'O', 'DROSO'); + +-- -------------------------------------------------------- + +-- +-- Structure de la table `formation` +-- + +CREATE TABLE `formation` ( + `fSigle` varchar(5) NOT NULL, + `fNom` varchar(50) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +-- +-- Déchargement des données de la table `formation` +-- + +INSERT INTO `formation` (`fSigle`, `fNom`) VALUES +('CODOM', 'Commerce Domestique'), +('COINT', 'Commerce International'), +('DROPA', 'Droit des particuliers'), +('DROSO', 'Droit des Sociétés'), +('LITET', 'Littérature étrangère'), +('LITFR', 'Litérature française'); + +-- -------------------------------------------------------- + +-- +-- Structure de la table `matiere` +-- + +CREATE TABLE `matiere` ( + `mSigle` varchar(6) NOT NULL, + `mNom` varchar(40) NOT NULL, + `mDescription` text NOT NULL, + `mDomaine` varchar(15) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +-- +-- Déchargement des données de la table `matiere` +-- + +INSERT INTO `matiere` (`mSigle`, `mNom`, `mDescription`, `mDomaine`) VALUES +('ANGAVA', 'Anglais avancé', 'Cours d\'anglais poussé destiné aux échanges internationaux professionnels.', 'Langues'), +('ANGSTD', 'Anglais standard', 'Cours d\'anglais visant la compréhension par l\'étudiant des documents et médias non spécialisés.', 'Langues'), +('CONCOM', 'Contrats commerciaux', 'Etude de la structure, la légitimité et les obligations dans les contrats commerciaux européens.', 'Commerce'), +('CONINT', 'Contrats internationaux', 'Etude de la structure, la légitimité et les obligations dans les contrats commerciaux internationaux.', 'Commerce'), +('DROBAJ', 'Bases de droit et jurisprudence', 'Bases du droit, principes légaux généraux et étude introductive à la jurisprudence', 'Juridique'), +('DROCDT', 'Bases du code du travail', 'Étude du code du travail, des droits et devoirs des salariés et employeurs', 'Juridique'), +('LITANA', 'Analyse littéraire', 'Méthodes et principes d\'analyse littéraire, appuyé sur de grands classiques de littérature française ou étrangère', 'Littérature'), +('LITOAN', 'Oeuvres majeures anglaises', 'Etude approfondie d\'oeuvres majeures de la littérature anglophone.', 'Littérature'), +('LITOFR', 'Oeuvres majeures françaises', 'Etude approfondie d\'oeuvres majeures de la littérature française.', 'Littérature'); + +-- +-- Index pour les tables déchargées +-- + +-- +-- Index pour la table `contenu` +-- +ALTER TABLE `contenu` + ADD PRIMARY KEY (`cMatiere`,`cFormation`), + ADD KEY `contenu_ibfk_1` (`cFormation`); + +-- +-- Index pour la table `domaine` +-- +ALTER TABLE `domaine` + ADD PRIMARY KEY (`dDomaine`); + +-- +-- Index pour la table `etudiant` +-- +ALTER TABLE `etudiant` + ADD PRIMARY KEY (`eId`), + ADD KEY `eFormation` (`eFormation`); + +-- +-- Index pour la table `formation` +-- +ALTER TABLE `formation` + ADD PRIMARY KEY (`fSigle`); + +-- +-- Index pour la table `matiere` +-- +ALTER TABLE `matiere` + ADD PRIMARY KEY (`mSigle`), + ADD KEY `matiere_ibfk_1` (`mDomaine`); + +-- +-- AUTO_INCREMENT pour les tables déchargées +-- + +-- +-- AUTO_INCREMENT pour la table `etudiant` +-- +ALTER TABLE `etudiant` + MODIFY `eId` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5; + +-- +-- Contraintes pour les tables déchargées +-- + +-- +-- Contraintes pour la table `contenu` +-- +ALTER TABLE `contenu` + ADD CONSTRAINT `contenu_ibfk_1` FOREIGN KEY (`cFormation`) REFERENCES `formation` (`fSigle`) ON DELETE NO ACTION ON UPDATE CASCADE, + ADD CONSTRAINT `contenu_ibfk_2` FOREIGN KEY (`cMatiere`) REFERENCES `matiere` (`mSigle`) ON DELETE NO ACTION ON UPDATE CASCADE; + +-- +-- Contraintes pour la table `etudiant` +-- +ALTER TABLE `etudiant` + ADD CONSTRAINT `formation_ibfk_1` FOREIGN KEY (`eFormation`) REFERENCES `formation` (`fSigle`) ON DELETE NO ACTION ON UPDATE CASCADE; + +-- +-- Contraintes pour la table `matiere` +-- +ALTER TABLE `matiere` + ADD CONSTRAINT `matiere_ibfk_1` FOREIGN KEY (`mDomaine`) REFERENCES `domaine` (`dDomaine`) ON DELETE NO ACTION ON UPDATE CASCADE; + +GRANT USAGE ON *.* TO `phpapp`@`%` IDENTIFIED BY PASSWORD '*30788B2E10D1BBB32E081836418D75A0BCD38460'; + +GRANT ALL PRIVILEGES ON `universite`.* TO `phpapp`@`%`; + + +COMMIT; + +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;