Część 18 · Wzorce egzaminacyjne INF.03 (PHP i mysqli) — kurs PHP INF.03
Część 18 kursu PHP pod kątem INF.03: Wzorce zadań egzaminacyjnych w PHP i mysqli. Teoria w skrócie i 16 ćwiczeń z automatycznym sprawdzaniem.
- 45 min
- 16 slajdów
- Notatki nauczyciela: N
- Strona modułu: otwórz
Co dziś robimy
- 12 minJak czytać arkusz INF.03 Najpierw przeczytaj całość i wypisz wymagania jako listę kontrolną: baza, formularz…
- 12 minTypowe zadania PHP w arkuszu Warto mieć w głowie gotowe schematy: połączenie z bazą, zapytanie przygotowane, pętla…
- 12 minTypowe zadania SQL w arkuszu Warto zaczynać od zapytań sprawdzających: SELECT * FROM tabela pokazuje, czy dane…
- 4 minĆwiczenia 16 zadań w module — wybierz 3–4 na lekcję
- 5 minPodsumowanie bilet wyjściowy i zadanie domowe
Jak czytać arkusz INF.03
Arkusz zwykle składa się z części teoretycznej i praktycznej. W praktycznej dostajesz opis zadania, pliki startowe i listę wymagań, które trzeba spełnić w określonym czasie.
- Najpierw przeczytaj całość i wypisz wymagania jako listę kontrolną: baza, formularz, wyświetlanie, walidacja, bezpieczeństwo.
- Dopiero potem pisz kod — łatwiej wtedy ocenić, co jest gotowe.
- Punktowane są efekty widoczne w przeglądarce i w bazie, a nie styl kodu.
- Dlatego najpierw uruchamiamy działającą wersję, a porządki robimy na końcu, jeśli zostanie czas.
Jak to wygląda w kodzie
// Plan pracy z arkusza (przyklad)
// 1. utworz baze i tabele
// 2. zrob formularz HTML
// 3. odbierz dane w PHP
// 4. zapisz do bazy
// 5. wyswietl wyniki
// 6. zabezpiecz wyjscie
echo 'Plan gotowy';
Uruchom i pokaż
// Plan pracy z arkusza (przyklad)
// 1. utworz baze i tabele
// 2. zrob formularz HTML
// 3. odbierz dane w PHP
// 4. zapisz do bazy
// 5. wyswietl wyniki
// 6. zabezpiecz wyjscie
echo 'Plan gotowy';
Pytanie do klasy
Od czego zacząć arkusz?
Poprawna: a) Lista wymagań porządkuje pracę i pozwala sprawdzić efekt.
Typowe zadania PHP w arkuszu
Powtarzające się elementy to: formularz z kilkoma polami, odbiór danych metodą POST, walidacja, zapis do bazy i wypisanie wyników w tabeli. Często dochodzi upload pliku lub obsługa sesji.
- Warto mieć w głowie gotowe schematy: połączenie z bazą, zapytanie przygotowane, pętla wypisująca wiersze i funkcja zabezpieczająca wyjście.
- To szkielet, który wystarcza w większości zadań.
- Uważaj na szczegóły z treści: nazwy tabel, nazwy kolumn, wymagane komunikaty.
- Punkty sering traci się nie na logice, a na niezgodności z opisem.
Jak to wygląda w kodzie
$polaczenie = mysqli_connect('localhost', 'root', '', 'egzamin');
mysqli_set_charset($polaczenie, 'utf8mb4');
$stmt = mysqli_prepare($polaczenie, 'INSERT INTO zgloszenia (imie, email) VALUES (?, ?)');
mysqli_stmt_bind_param($stmt, 'ss', $imie, $email);
mysqli_stmt_execute($stmt);
echo '<p>Zgloszenie zapisane</p>';
Uruchom i pokaż
$polaczenie = mysqli_connect('localhost', 'root', '', 'egzamin');
mysqli_set_charset($polaczenie, 'utf8mb4');
$stmt = mysqli_prepare($polaczenie, 'INSERT INTO zgloszenia (imie, email) VALUES (?, ?)');
mysqli_stmt_bind_param($stmt, 'ss', $imie, $email);
mysqli_stmt_execute($stmt);
echo '<p>Zgloszenie zapisane</p>';
Pytanie do klasy
Jaki schemat najczęściej się powtarza?
Poprawna: b) Większość zadań to formularz, walidacja i zapis do bazy.
Typowe zadania SQL w arkuszu
Zadania SQL zwykle dotyczą utworzenia tabeli, wstawienia danych, zapytania z warunkiem i raportu z agregacją. Często trzeba też połączyć dwie tabele po kluczu.
- Warto zaczynać od zapytań sprawdzających: SELECT * FROM tabela pokazuje, czy dane zapisały się poprawnie.
- Dopiero potem budujemy raport z grupowaniem.
- Uważaj na wielkość liter w nazwach i na apostrofy w wartościach tekstowych.
- Najczęstsze błędy to brak GROUP BY przy agregacji i brak warunku w UPDATE .
Jak to wygląda w kodzie
SELECT k.nazwa, COUNT(z.id) AS zgloszenia
FROM klasy k
LEFT JOIN zgloszenia z ON z.klasa_id = k.id
GROUP BY k.nazwa
ORDER BY zgloszenia DESC;
SELECT imie FROM zgloszenia WHERE email LIKE '%@wp.pl';
Uruchom i pokaż
SELECT k.nazwa, COUNT(z.id) AS zgloszenia
FROM klasy k
LEFT JOIN zgloszenia z ON z.klasa_id = k.id
GROUP BY k.nazwa
ORDER BY zgloszenia DESC;
SELECT imie FROM zgloszenia WHERE email LIKE '%@wp.pl';
Pytanie do klasy
Od jakiego zapytania zacząć?
Poprawna: a) Select pokazuje, czy dane są poprawne.
Ćwiczenia w module (16)
- 1Dynamiczna lista rozwijana select z bazy
- 2Wyświetlenie szczegółów po wyborze z formularza
- 3Tabela z obliczeniem wartości brutto w PHP
- 4Warunkowe formatowanie wierszy i status dostępności
- 5Kafelkowa prezentacja danych (karty z obrazkiem)
- 6Obsługa pustego wyniku zapytania
- 7Podsumowanie tabeli liczone w pętli PHP
- 8Sprawdzenie unikalności przed dodaniem rekordu
- 9Aktualizacja stanu magazynowego po akcji
- 10Dynamiczne linki akcji usuwania z adresem GET
- 11Formatowanie daty i waluty z bazy danych
- 12Zestawienie relacyjne JOIN w arkuszu egzaminacyjnym
- 13Dwa niezależne skrypty w jednym dokumencie HTML
- 14Formularz edycji rekordu (pre-fill wartości i UPDATE)
- 15Filtrowanie z sortowaniem z białej listy
- 16Kompletny moduł egzaminacyjny INF.03 (synteza)
Co zabrać z lekcji
- Punktowane są efekty widoczne w przeglądarce i w bazie, a nie styl kodu.
- Warto mieć w głowie gotowe schematy: połączenie z bazą, zapytanie przygotowane, pętla wypisująca wiersze i funkcja zabezpieczająca wyjście.
- Warto zaczynać od zapytań sprawdzających: SELECT * FROM tabela pokazuje, czy dane zapisały się poprawnie.
- Ćwiczenia
Odpowiedź: c) Brak warunku WHERE