Periode 4 · Week 4
Week 4 – CRUD overzicht;
Wat leer je deze week?
In de afgelopen weken heb je geleerd hoe je:
- data toevoegt
- data uitleest
- data aanpast
- data verwijdert
Deze week breng je alles samen in één complete CRUD-app.
Je gaat beter begrijpen hoe alle onderdelen samenwerken en hoe een echte webapplicatie flow heeft tussen formulieren, PHP en de database.
Kernconcepten (in normale mensentaal)
CRUD is eigenlijk de basis van bijna elke webapp.
Denk bijvoorbeeld aan:
- een to-do app
- Instagram posts
- Netflix profielen
- een webshop
- een agenda
Bijna overal gebeurt dit:
iets toevoegen
↓
iets bekijken
↓
iets aanpassen
↓
iets verwijderen
Dat noemen we CRUD.
CRUD staat voor:
Create
Read
Update
Delete
Oftewel:
- iets maken
- iets lezen
- iets aanpassen
- iets verwijderen
Deze week draait vooral om:
“begrijpen hoe alles samenwerkt.”
Wat moet je kennen?
1. Wat CRUD betekent
Uitleg
CRUD zijn de vier basisacties van een database-applicatie.
Wat moet je kennen
- Create
- Read
- Update
- Delete
- welke SQL-query bij elke actie hoort
Overzicht
| Actie | SQL | Betekenis |
|---|---|---|
| Create | INSERT | Nieuwe data toevoegen |
| Read | SELECT | Data ophalen |
| Update | UPDATE | Data aanpassen |
| Delete | DELETE | Data verwijderen |
Onthoud: Vrijwel elke database-app gebruikt CRUD.
2. De flow van een CRUD-app begrijpen
Uitleg
Een gebruiker doet iets in de browser.
PHP verwerkt die actie en praat met de database.
Wat moet je kennen
- formulieren
- GET en POST
- queries uitvoeren
- redirects gebruiken
Voorbeeldflow
gebruiker vult formulier in
↓
formulier verstuurt data
↓
PHP ontvangt data
↓
query draait
↓
database verandert
↓
redirect
↓
nieuwe data zichtbaar
Onthoud: PHP zit eigenlijk tussen de gebruiker en de database in.
3. Verschillende pagina’s gebruiken
Uitleg
Grote applicaties bestaan meestal uit meerdere bestanden met verschillende verantwoordelijkheden.
Wat moet je kennen
- overzichtspagina
- createpagina
- editpagina
- deletepagina
- includes gebruiken
Voorbeeldstructuur
/includes
db.php
header.php
nav.php
index.php
create.php
edit.php
delete.php
Onthoud: Een duidelijke structuur voorkomt chaos.
4. Redirects gebruiken
Uitleg
Na CREATE, UPDATE of DELETE stuur je de gebruiker meestal terug naar het overzicht.
Wat moet je kennen
header()exit- redirect flow
Voorbeeld
header('Location: index.php');
exit;
Onthoud: Redirects zorgen voor een prettigere flow en voorkomen rare refresh-problemen.
5. CRUD herkennen in een echte applicatie
Uitleg
CRUD zit letterlijk overal op internet.
Voorbeelden
| Situatie | CRUD actie |
|---|---|
| Nieuwe Instagram post maken | Create |
| Posts bekijken | Read |
| Profiel aanpassen | Update |
| Bericht verwijderen | Delete |
Onthoud: CRUD is niet alleen een schoolding. Dit is hoe echte apps werken.
Veelgemaakte fouten (met voorbeelden)
1. CRUD-acties door elkaar halen
Soms gebruiken studenten per ongeluk de verkeerde query voor een actie.
Fout
UPDATE items
om data op te halen.
Beter
SELECT * FROM items
2. Alles in één gigantisch bestand zetten
Dan wordt je project heel snel onoverzichtelijk.
Fout
index.php doet:
- create
- read
- update
- delete
- login
- alles 😭
Beter
index.php
create.php
edit.php
delete.php
3. Geen redirects gebruiken
Dan blijven gebruikers op rare tussenpagina’s hangen.
Fout
echo "Opgeslagen!";
Beter
header('Location: index.php');
exit;
4. GET en POST door elkaar halen
GET gebruik je meestal voor:
- pagina’s openen
- ids meesturen
POST gebruik je meestal voor:
- data aanpassen
- formulieren versturen
Fout
$title = $_GET['title'];
Beter
$title = $_POST['title'] ?? '';
5. Geen WHERE gebruiken bij UPDATE of DELETE
Dan verander of verwijder je ALLES.
Fout
DELETE FROM items
Beter
DELETE FROM items
WHERE id = ?
Snippets
CREATE query
$stmt = $pdo->prepare("
INSERT INTO items (title)
VALUES (?)
");
$stmt->execute([$title]);
READ query
$stmt = $pdo->query("
SELECT * FROM items
");
$items = $stmt->fetchAll(PDO::FETCH_ASSOC);
UPDATE query
$stmt = $pdo->prepare("
UPDATE items
SET title = ?
WHERE id = ?
");
$stmt->execute([$title, $id]);
DELETE query
$stmt = $pdo->prepare("
DELETE FROM items
WHERE id = ?
");
$stmt->execute([$id]);
Redirect gebruiken
header('Location: index.php');
exit;
Video (coming soon)
Video komt eraan
Zodra de uitlegvideo beschikbaar is, wordt alleen de YouTube-ID vervangen.