Maak de gevraagde controllers en views
Voeg aan router.php de routes toe
$route->get('afspraken', "controllers/afspraken.php"); //(1p) $route->post('afspraak-destroy/{id}', "controllers/afspraak-destroy.php"); //(1p)
Maak in afspraken.view.php een formulier met een datum veld en zoek button
<form action="/afspraken" method="get"> <input type="date" name="datum" required class="border"> <input type="submit" value="Zoek" class="border"> </form>
Vul de controller afspraken.php met de logica om alle afspraken met de betreffende datum op te halen.
<?php //database object initialiseren $db = new Database(); //query uitvoeren (met meerdere resultaten) en opslaan in een variabele $result (array) $result = $db->query("SELECT afspraken.id, van, tot, voornaam, tussenvoegsel, achternaam FROM afspraken, klanten WHERE afspraken.klant_id=klanten.id AND van LIKE ? ORDER BY van", [ $request->datum ?? '' . "%" ])->fetchAll(); view('afspraken', [ 'afspraken' => $result ]);
Gebruik in je query een koppeling tussen de afspraken en klanten tabel, want uit beide tabellen wil je gegevens hebben. En maak gebruik van een LIKE om op de betreffende datum te zoeken
Maak in afspraken een loop die door alle afspraken heen gaat en toont
<ul> <?php foreach ($afspraken as $afspraak): ?> <li> <?= $afspraak['voornaam'] . " " . $afspraak['tussenvoegsel'] . " " . $afspraak['achternaam'] . " " . $afspraak["van"] . " " . $afspraak['tot'] ?> </li> <?php endforeach; ?> </ul>
Video 04 met gewone button
Video 05 met bevestigingsbutton
Voeg een verwijder button toe. Het meest eenvoudige is om hier voor de view /parts/delete-button te gebruiken.
<ul> <?php foreach ($afspraken as $afspraak): ?> <li class="flex gap-4"> <?= $afspraak['voornaam'] . " " . $afspraak['tussenvoegsel'] . " " . $afspraak['achternaam'] . " " . $afspraak["van"] . " " . $afspraak['tot'] ?> <?php view('parts/delete-button', [ 'action' => "/afspraak-destroy/" . $afspraak['id'] ]); ?> </li> <?php endforeach; ?> </ul>
In de controller afspraak-destroy.php moet het doorvoeren op de database worden toegevoegd.
<?php $request->validate([ 'id' => 'required' ]); //database object initialiseren $db = new Database(); $db->query("DELETE FROM afspraken WHERE id = ?", [ $request->id ]); flash('Afspraak verwijderd'); redirect('/afspraken');