PHP en Database - les 2 (select, insert, delete en where)

PHP en database
Les II - select, insert statements en de where-clause
1 / 26
volgende
Slide 1: Tekstslide
phpMBOStudiejaar 1,2

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

time-iconLesduur is: 60 min

Onderdelen in deze les

PHP en database
Les II - select, insert statements en de where-clause

Slide 1 - Tekstslide

Klaarmaken omgeving
  • Zorg ervoor dat je laptop of een schoolcomputer aan staat
  • Zorg ervoor dat je de database gegevens hebt ingeladen
  • Zorg ervoor dat je de 3 PHP-bestanden hebt
  • Zorg ervoor dat je webserver draait

Mis je bestanden? Download het pakketje op:
https://mbo-sd.nl/php-t2j.zip


Slide 2 - Tekstslide

Leerdoelen
  • Je haalt informatie uit de database op met een select-statement
  • Je past informatie aan in de database met een insert-statement
  • Je haalt gefilterde informatie uit de database op met een select-statement aangevuld met een where-clause
  • Je breidt de where-clause uit met AND/ OR 
  • Je past de kennis over de queries toe in jouw PHP project

Slide 3 - Tekstslide

Vorige lessen
  • Bij de lessen database heb je gehad:
  • ERD
  • Uitleg basis begrippen (tabel, veld etc.)
  • Relaties
  • Bij de lessen PHP heb je gehad:
  • Connectie maken met database
  • Fout afhandeling
  • Eerste keer query gemaakt

Slide 4 - Tekstslide

Bekijk de ERD

Slide 5 - Tekstslide

Hoe heten de onderdelen: users, gamers en races
A
velden
B
tabellen
C
rijen
D
entiteiten

Slide 6 - Quizvraag

Verbinding met een DB
Voor een verbinding met de database heb je een aantal gegevens nodig:
  • Hostname
  • Database naam
  • Username
  • Wachtwoord

Slide 7 - Tekstslide

Bekijk de volgende code goed:

Slide 8 - Tekstslide

Waarom vangen we een mogelijke fout af in PHP?
A
Omdat het handig is
B
Omdat anders het niet werkt
C
Omdat meneer Auerbach zegt dat dit moet
D
Om te zorgen dat informatie niet getoond wordt

Slide 9 - Quizvraag

SELECT statement
Je kan informatie ophalen uit de database met een SELECT statement:

SELECT * FROM users;

Dit haalt alle rijen/ informatie op

Slide 10 - Tekstslide

Slide 11 - Tekstslide

Deel van informatie ophalen
SELECT * FROM users WHERE city = 'Den Haag';

Dit haalt alle rijen op waarbij city gelijk is aan Den Haag

Slide 12 - Tekstslide

Andere mogelijkheden
Je kan in de WHERE-clause ook andere vergelijkingen maken:
WHERE age > 25 -- Leeftijd is groter dan 25
WHERE city != 'Den Haag' -- city is niet gelijk aan Den Haag
WHERE username = 'Ron' -- username is gelijk aan Ron

WHERE username = 'Ron' AND city is 'Den Haag' 
WHERE username = 'Ron' OR city is 'Breda' 

Slide 13 - Tekstslide

Slide 14 - Tekstslide

Hoe haal ik alle gebruikers uit de tabel op die als voornaam Pedro hebben?

Slide 15 - Open vraag

Informatie in de DB stoppen
INSERT INTO users (username, password, email, age, city) 
VALUES ('Allard', '123456', 'allard@jeemail.kom', 34, 'Den Dolder'); 

Slide 16 - Tekstslide

We gaan alle velden vullen uit de database BEHALVE het veld ID. Dit is van het type serial, en wordt automatisch verhoogd als je iets in de tabel stopt!

Slide 17 - Tekstslide

Slide 18 - Tekstslide

Voor elk veld welke je wilt vullen, moet je in de VALUES-statement ook iets invullen!

Slide 19 - Tekstslide





Waarom staat het wachtwoord tussen quotes?
A
Het mag beide, het maakt niet uit
B
Het is een getal, maar mag ook als string
C
Het is een varchar in de database, dat moet als string
D
Eerlijk gezegd heb ik geen idee :-s

Slide 20 - Quizvraag

Hoe doen we dat met PHP?
<?php
            $selectQuery = 'SELECT * FROM users';
            $result = $pdo->query($selectQuery);
            while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
                echo "Nieuw veld: </strong><br>";
                foreach ($row AS $key => $field) {
                    echo "$key is $field <br>";
                }
            }

Slide 21 - Tekstslide

Hoe doen we dat met PHP?
        <?php
            $query = "INSERT INTO users (username, password, email, age, city) 
                          VALUES ('Jean', 123545, 'jean@jiemeel.kom', 48, 'Koog aan de zaan')";
            $result = $pdo->query($query);
            print_r($pdo->errorInfo());

            $query = "INSERT INTO users (username, password, email) 
                      VALUES ('Jean', 123545, 'jean@jiemeel.kom')";
            $result = $pdo->query($query);
            var_dump($result);
            print_r($pdo->errorInfo());

Slide 22 - Tekstslide

Opdrachten
  • SELECT STATEMENTS
  • Toon alle gebruikers
  • Toon alle races
  • Toon de users uit Den Haag
  • Toon de users uit Rijswijk
  • Toon de users NIET uit Den Haag
  • Toon alle users jonger dan 25
  • Toon alle users ouder dan 30


  • ALS JE KLAAR BENT
  • Toon alle gebruikers tussen de 14 en 28 jaar
  • Toon alle gebruikers uit Den Haag die ouder zijn dan 30
  • Toon alle gebruikers die niet uit Den Haag komen en jonger zijn dan 40

  • Toon alle gebruikers en toon bij elke gebruiker de naam van zijn gamers (HINT: maak een query in je eerste foreach)

Toon alle informatie NETJES in HTML-tabellen!

Slide 23 - Tekstslide

Leerdoelen
  • Je haalt informatie uit de database op met een select-statement
  • Je past informatie aan in de database met een insert-statement
  • Je haalt gefilterde informatie uit de database op met een select-statement aangevuld met een where-clause
  • Je breidt de where-clause uit met AND/ OR 
  • Je past de kennis over de queries toe in jouw PHP project

Slide 24 - Tekstslide

Hoeveel van de leerdoelen heb jij behaald tijdens deze les?
Geen
1
2
3
4

Slide 25 - Poll

Volgende les gaan we oefenen voor de PHP toets, heb je nog vragen voor de toets?

Slide 26 - Open vraag