0% ont trouvé ce document utile (0 vote)
18 vues6 pages

Filtrage Par

Le document décrit la création d'une page web pour afficher une liste d'élèves avec leurs notes, en utilisant HTML, Tailwind CSS, PHP et MySQL. Il inclut la structure de la base de données, le code PHP pour la connexion et le filtrage des élèves par classe et niveau, ainsi qu'une explication des fonctionnalités. Le professeur connecté ne peut voir que les élèves de son niveau, et une option pour modifier les notes est proposée comme amélioration.

Transféré par

djimigradi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
18 vues6 pages

Filtrage Par

Le document décrit la création d'une page web pour afficher une liste d'élèves avec leurs notes, en utilisant HTML, Tailwind CSS, PHP et MySQL. Il inclut la structure de la base de données, le code PHP pour la connexion et le filtrage des élèves par classe et niveau, ainsi qu'une explication des fonctionnalités. Le professeur connecté ne peut voir que les élèves de son niveau, et une option pour modifier les notes est proposée comme amélioration.

Transféré par

djimigradi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Oui !

Je vais créer une **page dédiée** qui affiche la liste des élèves avec
leurs notes, avec un **filtrage par classe et niveau**.

🔹 **Technologies utilisées** : HTML, Tailwind CSS, PHP et MySQL.

🔹 **Fonctionnalités** :

✅ Liste des élèves avec leurs notes.

✅ Filtrage dynamique par **classe** et **niveau** (primaire/secondaire).

✅ Professeur connecté ne voit que son niveau.

## **📌 1️⃣Base de données (`eleves.sql`)**

D’abord, crée une table `eleves` dans ta base MySQL :

```sql

CREATE DATABASE gestion_notes ;

USE gestion_notes ;

CREATE TABLE eleves (

Id INT AUTO_INCREMENT PRIMARY KEY,

Nom VARCHAR(100),

Classe VARCHAR(50),

Niveau ENUM(‘primaire’, ‘secondaire’),

Note_cours FLOAT,

Note_compo FLOAT,

Coefficient INT

);

```

**Exemple d’insertion de données :**


```sql

INSERT INTO eleves (nom, classe, niveau, note_cours, note_compo,


coefficient) VALUES

(‘Jean Mbala’, ‘6ème A’, ‘primaire’, 12, 14, 3),

(‘Marie Kanza’, ‘3ème B’, ‘secondaire’, 10, 16, 4),

(‘Michel Ntumba’, ‘6ème A’, ‘primaire’, 15, 13, 3),

(‘Alice Lombo’, ‘3ème B’, ‘secondaire’, 11, 14, 4) ;

```

## **📌 2️⃣Page `liste_eleves.php` (Affichage & Filtrage)**

Ce fichier affiche **tous les élèves** et permet de filtrer par **classe et


niveau**.

```php

< ?php

$servername = « localhost » ;

$username = « root » ; // À changer si nécessaire

$password = « « ;

$dbname = « gestion_notes » ;

// Connexion à la base de données

$conn = new mysqli($servername, $username, $password, $dbname) ;

If ($conn->connect_error) {

Die(« Erreur de connexion : « . $conn->connect_error) ;

// Niveau du professeur (primaire ou secondaire)

$niveau_prof = ‘primaire’ ; // Récupérer dynamiquement selon le prof


connecté
// Récupérer les classes disponibles pour le niveau du prof

$sql_classes = « SELECT DISTINCT classe FROM eleves WHERE


niveau=’$niveau_prof’ » ;

$result_classes = $conn->query($sql_classes) ;

// Gestion du filtrage par classe

$classe_filtre = isset($_GET[‘classe’]) ? $_GET[‘classe’] : « « ;

$sql_eleves = « SELECT * FROM eleves WHERE niveau=’$niveau_prof’ » ;

If ( !empty($classe_filtre)) {

$sql_eleves .= « AND classe=’$classe_filtre’ » ;

$result_eleves = $conn->query($sql_eleves) ;

?>

< !DOCTYPE html>

<html lang= »fr »>

<head>

<meta charset= »UTF-8 »>

<meta name= »viewport » content= »width=device-width, initial-


scale=1.0 »>

<title>Liste des Élèves</title>

<script src= »https://cdn.tailwindcss.com »></script>

</head>

<body class= »bg-gray-100 p-6 »>

<div class= »max-w-4xl mx-auto bg-white p-6 rounded-lg shadow-lg »>

<h2 class= »text-cyan-600 text-2xl font-bold text-center mb-


4 »>Liste des Élèves</h2>

< !—Formulaire de filtrage 


<form method= »GET » class= »mb-4 »>

<label class= »block text-gray-700 font-semibold »>Filtrer par


classe :</label>

<select name= »classe » class= »w-full p-2 border rounded text-


gray-800 »>

<option value= » »>Toutes les classes</option>

< ?php while ($row = $result_classes->fetch_assoc()) { ?>

<option value= »< ?= $row[‘classe’] ?> » < ?= ($classe_filtre


== $row[‘classe’]) ? « selected » : « « ?>>

< ?= $row[‘classe’] ?>

</option>

< ?php } ?>

</select>

<button type= »submit » class= »w-full px-4 py-2 bg-cyan-500


text-white rounded mt-2 »>Filtrer</button>

</form>

< !—Table des élèves 

<table class= »w-full border-collapse border border-gray-300 »>

<thead>

<tr class= »bg-gray-200 »>

<th class= »border border-gray-300 p-2 »>Nom</th>

<th class= »border border-gray-300 p-2 »>Classe</th>

<th class= »border border-gray-300 p-2 »>Note Cours</th>

<th class= »border border-gray-300 p-2 »>Composition</th>

<th class= »border border-gray-300 p-2 »>Coefficient</th>

<th class= »border border-gray-300 p-2 »>Moyenne</th>

</tr>

</thead>

<tbody>
< ?php while ($row = $result_eleves->fetch_assoc()) {

$moyenne = ($row[‘note_cours’] + $row[‘note_compo’]) / 2 ;

?>

<tr class= »bg-white »>

<td class= »border border-gray-300 p-2 »>< ?=


$row[‘nom’] ?></td>

<td class= »border border-gray-300 p-2 »>< ?=


$row[‘classe’] ?></td>

<td class= »border border-gray-300 p-2 »>< ?=


$row[‘note_cours’] ?>/20</td>

<td class= »border border-gray-300 p-2 »>< ?=


$row[‘note_compo’] ?>/20</td>

<td class= »border border-gray-300 p-2 »>< ?=


$row[‘coefficient’] ?></td>

<td class= »border border-gray-300 p-2 font-bold »>< ?=


number_format($moyenne, 2) ?>/20</td>

</tr>

< ?php } ?>

</tbody>

</table>

</div>

</body>

</html>

```

## **📌 Explication du Code**

✔ **Connexion MySQL** pour récupérer les élèves.

✔ **Récupération des classes** du niveau enseigné par le prof connecté.

✔ **Formulaire de filtrage** pour voir les élèves d’une classe spécifique.

✔ **Affichage dans un tableau** avec :


- **Nom de l’élève**

- **Classe**

- **Note de cours**

- **Note de composition**

- **Coefficient**

- **Moyenne calculée**

## **📌 Résumé**

✅ Une **base de données MySQL** pour stocker les élèves.

✅ Une **page `liste_eleves.php`** qui affiche les élèves avec un **filtrage


par classe**.

✅ Le **prof connecté** ne voit que son **niveau (primaire ou


secondaire)**.

🚀 **Tu veux ajouter une option pour modifier les notes directement sur
cette page ?**

Vous aimerez peut-être aussi