H8 Master/detail en Update

Master/detail en Update
WDV-III en DBS-I
Les H8 / Week 6
1 / 33
volgende
Slide 1: Tekstslide
Applicatie- en mediaontwikkelaarMBOStudiejaar 1

In deze les zitten 33 slides, met interactieve quizzen en tekstslides.

time-iconLesduur is: 60 min

Onderdelen in deze les

Master/detail en Update
WDV-III en DBS-I
Les H8 / Week 6

Slide 1 - Tekstslide

Even terugblikken
  • debuggen met print_r
  • php in je html plaatsen
  • Read van CRUD
  • een SELECT query uitvoeren
  • een FOREACH loop
  • php in een tabel plaatsen

Slide 2 - Tekstslide

bij PDO zit er bij een SELECT query een onderdeel bij die niet bij een INSERT INTO query zit. welke is dit?
A
fetchAll(PDO::FETCH_ASSOC);
B
$statement->execute
C
$statement = $conn->prepare($query);
D
require_once 'conn.php'

Slide 3 - Quizvraag

hoe maak je een loop in php?
A
while($lijst as $item){ echo $item['key'] ;}
B
for ($lijst as $item){ echo $item['key'] ;}
C
if($lijst as $item){ echo $item['key'] ;}
D
foreach($lijst as $item){ echo $item['key'] ;}

Slide 4 - Quizvraag

Hoe zorg ik ervoor dat de connectie met de database beschikbaar is in mijn index.php-bestand om gegevens op te halen?
A
require_once 'conn.php'
B
$query = "SELECT * FROM meldingen"
C
$statement = $conn->prepare($query)
D
$statement->execute()

Slide 5 - Quizvraag

Beschrijf hier zo goed mogelijk de vijf stappen die je doet om een gegevens uit de database te halen

Slide 6 - Open vraag

Met welk element voeg ik een tabel toe?

Slide 7 - Open vraag

Met welk element voeg ik een tabel rij toe?

Slide 8 - Open vraag

Hoe kan ik een element na het maken van mijn foreach-loop (foreach($items as $item)) op de juiste manier laten zien aan de gebruiker?
<?php
?>
echo
$item
['name']
;
<?
$statement->execute()
require_once
$items
foreach
fetchAll

Slide 9 - Sleepvraag

Leerdoelen
  • je kunt beschrijven wat een master/detail pagina is
  • je kunt een UPDATE query uitvoeren
  • je kan op de juiste manier linken naar een edit pagina
  • je kan een een edit pagina opbouwen in html en php
  • je kan je controller voor meerder acties inzetten

Slide 10 - Tekstslide

Master/detail
  • van een overzicht naar een individuele rij van een database gaan.

Slide 11 - Tekstslide

edit pagina
Om data in onze database aan te kunnen passen maken we een edit pagina aan . Dit is een link naar een andere pagina. Eerst gaan we de link maken




Slide 12 - Tekstslide

8.3 link naar edit toevoegen
Wat: maak opdracht 8.3
Hoe: moduleboekje, pagina 39
Hulp: je buurman - daarna docent
Uitkomst: een werkende browserpagina waarop de gegevens te zien zijn. 
Klaar: start met de weekcheck van H8
timer
5:00

Slide 13 - Tekstslide

Edit formulier
We gaan een edit formulier maken: deze haalt de informatie die er staat uit onze database.

Slide 14 - Tekstslide

Edit-code

Slide 15 - Tekstslide

- we halen de id uit de URL
- we voegen een query uit om de informatie van deze ID te achter halen.
- we gaan de informatie uit de database invullen in de form.

Slide 16 - Tekstslide

Hoe geef ik een id mee aan mijn a-element edit.php-pagina?

Slide 17 - Open vraag

Hoe haal ik op de edit.php pagina het id op uit de URL en sla het op in een variabele?

Slide 18 - Open vraag

Hoe haal ik uit een takenlijst een individuele taak op op de edit-pagina?
=
;
$taak
$taken
fetch
fetchAll
$statement->
(PDO::FETCH_ASSOC)
(PDO::)
$query
$conn

Slide 19 - Sleepvraag

bijvoorbeeld:
<input type="text" name="title" value="<?php echo $item['title']; ?>">

Slide 20 - Tekstslide

8.5. Opdracht: edit-pagina opzetten
Wat: Opdracht 8.5: stap 1 t/m 5 uitvoeren
Hoe: moduleboekje WDV-III en DBS-I, pagina 41
Hulp: je buurman - daarna de docent
Uitkomst: een overzicht van alle ingevulde gegevens uit meldingen uit de database.
Klaar: ga verder met de weekcheck van H8.
timer
10:00

Slide 21 - Tekstslide

U van CRUD
- om data te updaten gebruiken we dezelfde controller die we ook voor het maken van een nieuwe database entry gebruiken
- de controller moet wel weten welke acties hij moet ondernemen, dit gaan we aangeven met een extra input die we meesturen met onze formulier

Slide 22 - Tekstslide

input type hidden
we geven onze form een input type hidden mee met als name action en value update
<input type="hidden" name="action" value="update">

dit kunnen we in onze controller gaan oproepen

Slide 23 - Tekstslide

  • We gaan onze controller ombouwen zodat hij bij elke actie eerst kijkt naar de action die uitgevoerd wordt en op basis daarvan de juiste stuk code uitvoert


Slide 24 - Tekstslide

ID meegeven aan hidden-input
  • Hidden input met id, om te weten welke melding aangepast moet worden.
  • ID wordt opgehaald uit de URL, was meegegeven bij openen edit-form.
  • Wordt doorgestuurd aan de controller in de value van input.

Slide 25 - Tekstslide

8.7. Opdracht: controller en formulieren aanpassen
Wat: Opdracht 8.7: stap 1 t/m 5 uitvoerenHoe: moduleboekje WDV-III en DBS-I, pagina 33
Hulp: je buurman - daarna de docent
Uitkomst: een overzicht van de meldingen onder elkaar.
Klaar: ga verder met de weekcheck van H7.
timer
15:00

Slide 26 - Tekstslide

8.9. De UPDATE-query
UPDATE table 
SET column1 = :value1, column2 = :value2, ... 
WHERE id = :id;
bijvoorbeeld
UPDATE adresboek 
SET werkgever = 'Google' 
WHERE id = 4;

Slide 27 - Tekstslide

Samen bespreken
resultaat: van dit
naar dit

Slide 28 - Tekstslide

Meerdere kolommen tegelijk:
UPDATE adresboek 
SET postcode = '6969BN', huisnummer = '32', woonplaats = 'Alkmaar' 
WHERE id = 2;

Slide 29 - Tekstslide

Meerdere kolommen tegelijk:
UPDATE adresboek 
SET postcode = '6969BN', huisnummer = '32', woonplaats = 'Alkmaar' 
WHERE id = 2;

Slide 30 - Tekstslide

Meerdere kolommen tegelijk:

Slide 31 - Tekstslide

8.11. Opdracht: update in de controller
Wat: Opdracht 8.11 uitvoeren
Hoe: moduleboekje WDV-III en DBS-I, pagina 44
Hulp: je buurman - daarna de docent
Uitkomst: een overzicht van de meldingen in een tabel met styling.
Klaar: ga verder met de weekcheck van H7.
timer
10:00

Slide 32 - Tekstslide

Weekcheck H8: Prikbord
Wat: Weekcheck H8 uitvoeren
Hoe: moduleboekje WDV-III en DBS-I, pagina 45
Hulp: je buurman - daarna de docent
Uitkomst: een overzicht van de tools in een nette gestylede tabel.
Klaar: Inleveren Itslearning: 
  • screenshot backend/berichtenController.php
  • screenshot van je berichten/edit.php
Daarna: verder met herhalingsoefening

Slide 33 - Tekstslide