Krok 1: Utwórz bazę danych i tabele
Najpierw skopiuj poniższy kod SQL do phpMyAdmin lub swojego lokalnego serwera MySQL:
CREATE DATABASE szkola;
USE szkola;
CREATE TABLE klasy (
id_klasy INT AUTO_INCREMENT PRIMARY KEY,
nazwa VARCHAR(50)
);
CREATE TABLE uczniowie (
id INT AUTO_INCREMENT PRIMARY KEY,
imie VARCHAR(50),
nazwisko VARCHAR(50),
id_klasy INT,
FOREIGN KEY (id_klasy) REFERENCES klasy(id_klasy)
);
Krok 2: Dodaj przykładowe dane
INSERT INTO klasy (nazwa) VALUES ('4TI'), ('3TI');
INSERT INTO uczniowie (imie, nazwisko, id_klasy)
VALUES
('Jan', 'Kowalski', 1),
('Anna', 'Nowak', 1),
('Piotr', 'Wiśniewski', 2),
('Maria', 'Lewandowska', 2);
Krok 3: Pobieranie danych (SELECT)
Wyświetl listę uczniów z nazwą klasy:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "szkola";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Błąd połączenia: " . $conn->connect_error);
}
$result = $conn->query("
SELECT u.imie, u.nazwisko, k.nazwa AS klasa
FROM uczniowie u
LEFT JOIN klasy k ON u.id_klasy = k.id_klasy
");
while($row = $result->fetch_assoc()) {
echo $row["imie"]." ".$row["nazwisko"]." (".$row["klasa"].")<br>";
}
$conn->close();
?>
Krok 4: Dodawanie ucznia (INSERT)
<?php
$conn = new mysqli("localhost", "root", "", "szkola");
$imie = "Tomasz";
$nazwisko = "Zieliński";
$id_klasy = 1;
$stmt = $conn->prepare("INSERT INTO uczniowie (imie, nazwisko, id_klasy) VALUES (?, ?, ?)");
$stmt->bind_param("ssi", $imie, $nazwisko, $id_klasy);
$stmt->execute();
echo "Dodano ucznia: $imie $nazwisko";
$stmt->close();
$conn->close();
?>
Krok 5: Aktualizacja klasy ucznia (UPDATE)
<?php
$conn = new mysqli("localhost", "root", "", "szkola");
$id_ucznia = 1;
$nowa_klasa = 2;
$stmt = $conn->prepare("UPDATE uczniowie SET id_klasy=? WHERE id=?");
$stmt->bind_param("ii", $nowa_klasa, $id_ucznia);
$stmt->execute();
echo "Zaktualizowano ucznia o ID $id_ucznia";
$stmt->close();
$conn->close();
?>
Krok 6: Usuwanie ucznia (DELETE)
<?php
$conn = new mysqli("localhost", "root", "", "szkola");
$id_ucznia = 4;
$stmt = $conn->prepare("DELETE FROM uczniowie WHERE id=?");
$stmt->bind_param("i", $id_ucznia);
$stmt->execute();
echo "Usunięto ucznia o ID $id_ucznia";
$stmt->close();
$conn->close();
?>
Krok 7: Ćwiczenia dodatkowe
- Spróbuj dodać kilku uczniów z różnymi klasami.
- Zaktualizuj klasę kilku uczniów jednocześnie.
- Usuń ucznia, a następnie spróbuj wyświetlić listę.
- Spróbuj wyszukać uczniów po nazwisku lub klasie (SELECT z WHERE).
Po przepisaniu wszystkich kodów uczniowie będą mogli testować je lokalnie w XAMPP bez ryzyka błędów na serwerze.