Skip to content

Rejestr uczniów w klasie

This content is not available in your language yet.

Stworzysz Rejestr uczniów w klasie - aplikację webową do zarządzania listą uczniów. Pozwala ona na dodawanie nowych uczniów z podstawowymi danymi (imię, nazwisko, klasa), przeglądanie listy oraz wyszukiwanie i sortowanie. To typowy przykład prostego systemu CRUD używanego w szkołach i firmach.

Czego się nauczysz?

  • Tworzenia formularzy rejestracyjnych w PHP
  • Przechowywania danych strukturalnych w JSON
  • Implementacji wyszukiwarki tekstowej
  • Sortowania danych po różnych polach

W prawdziwej pracy...

Rejestry osób to podstawa większości systemów informatycznych - od prostych list kontaktów po zaawansowane systemy HR. Umiejętność tworzenia, przeszukiwania i sortowania list danych jest niezbędna w pracy każdego programisty aplikacji biznesowych.

  1. Dodawanie ucznia Formularz pozwala wprowadzić imię, nazwisko i oznaczenie klasy. Dane są walidowane i zapisywane do pliku JSON.

  2. Wyświetlanie listy Wszyscy uczniowie są wyświetlani w formie tabeli lub listy. Każdy wpis pokazuje pełne dane ucznia.

  3. Wyszukiwanie i sortowanie Użytkownik może przeszukiwać listę po imieniu/nazwisku oraz sortować według wybranego kryterium.

Przykładowa struktura pliku JSON:

{
"students": [
{
"id": 1,
"first_name": "Jan",
"last_name": "Kowalski",
"class": "3TI",
"created_at": "2026-02-13 10:30:00"
},
{
"id": 2,
"first_name": "Anna",
"last_name": "Nowak",
"class": "3TI",
"created_at": "2026-02-13 10:35:00"
}
]
}

Wymagane funkcje:

  • Formularz: imię, nazwisko, klasa
  • Walidacja podstawowa w PHP (niepuste pola)
  • Zapis ucznia do pliku JSON
  • Wyświetlanie listy wszystkich uczniów
  • Prosty interfejs CSS (tabela)

Przykładowy scenariusz:

Nauczyciel otwiera aplikację i dodaje nowego ucznia: “Jan Kowalski” z klasy “3TI”. Po zatwierdzeniu uczeń pojawia się na liście. Następnie dodaje kolejnych uczniów z tej samej klasy.

Ocena: 3.0

Wyszukiwanie uczniów:

<?php
$search = $_GET['search'] ?? '';
$students = json_decode(file_get_contents('students.json'), true)['students'];
if (!empty($search)) {
$students = array_filter($students, function($student) use ($search) {
return stripos($student['first_name'], $search) !== false
|| stripos($student['last_name'], $search) !== false;
});
}
?>

Sortowanie po nazwisku:

<?php
$sort = $_GET['sort'] ?? 'last_name';
$order = $_GET['order'] ?? 'asc';
usort($students, function($a, $b) use ($sort, $order) {
$result = strcmp($a[$sort], $b[$sort]);
return $order === 'desc' ? -$result : $result;
});
?>

Filtrowanie po klasie:

<?php
$classFilter = $_GET['class'] ?? '';
if (!empty($classFilter)) {
$students = array_filter($students, function($student) use ($classFilter) {
return $student['class'] === $classFilter;
});
}
?>

Wykorzystaj lekcje!

Cotygodniowe spotkania podczas lekcji to idealny moment, by:

  • Pokazać postępy - nawet małe kroki się liczą
  • Wyjaśnić wątpliwości - pytaj, nie zgaduj
  • Skonsultować rozwiązania - feedback pomoże Ci się rozwijać

Pracuj iteracyjnie - lepiej mieć działający wariant A niż niedokończony C!