Stappen plan
In de router.php
$route->get('items/{id}','controllers/item-show.php');
De url http://localhost/item/4 zal dan voor id=4 invullen. Omdat de method 'get' wordt gebruikt is in de controller $_GET['id'] beschikbaar.
In controller items-show.php
<?php //initialiseren van database class $db = new Database(); //view met item teruggegeven view('items-show', [ 'item' => $db->query("SELECT * FROM items WHERE id=?", [$_GET['id']])->fetch() ]);
In de view items-show.view.php
Gebruik htmlspecialchars(...) om ook speciale teksens als quotes etc te laten werken
<?php view("parts/header", ['title' => 'item ' . $item['id']]); view("parts/navigatie-menu"); ?> <h1 class="text-3xl my-4">Item <?= htmlspecialchars($item['naam']) ?></h1> <p class="my-4">Elke veld van 'item' kan hier nu worden gebruikt<br> id: <?= $item['id'] ?><br> naam: <?= htmlspecialchars($item['naam']) ?><br> beschrijving: <?= htmlspecialchars($item['beschrijving']) ?><br> prijs: <?= $item['prijs']; ?><br> </p> <?php view("parts/footer");
Testen van je code kan met http://localhost/items/1
Stappen plan
In de router.php
$route->get('items', 'controllers/items-index.php');
In de controller items-index.php
<?php //initialiseren van database class $db = new Database(); //view met item teruggegeven view('items-index', [ 'items' => $db->query("SELECT * FROM items")->fetchAll() ]);
In de view items-index.view.php
Gebruik htmlspecialchars(...) om ook speciale teksens als quotes etc te laten werken
<?php view("parts/header", ['title' => 'items']); view("parts/navigatie-menu"); ?> <h1 class="text-3xl my-4">Items</h1> <p class="my-2">Hieronder een lijst met alle items</p><br> <ul class="ml-4"> <!-- loop door alle items heen --> <?php foreach ($items as $item) : ?> <li><?= $item['id'] ?> - <?= htmlspecialchars($item['naam']) ?> - <?= htmlspecialchars($item['beschrijving']) ?> - <?= $item['prijs'] ?> - Link naar item: <a href="/items/<?= $item['id'] ?>" class="text-indigo-600"> <?= $item['naam'] ?> </a> </li> <?php endforeach; ?> </ul> <?php view("parts/footer");
Testen van code: http://localhost/items