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

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

Cette leçon contient 26 diapositives, avec quiz interactifs et diapositives de texte.

time-iconLa durée de la leçon est: 60 min

Éléments de cette leçon

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

Slide 1 - Diapositive

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 - Diapositive

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 - Diapositive

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 - Diapositive

Bekijk de ERD

Slide 5 - Diapositive

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

Slide 6 - Quiz

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

Slide 7 - Diapositive

Bekijk de volgende code goed:

Slide 8 - Diapositive

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 - Quiz

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

SELECT * FROM users;

Dit haalt alle rijen/ informatie op

Slide 10 - Diapositive

Slide 11 - Diapositive

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 - Diapositive

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 - Diapositive

Slide 14 - Diapositive

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

Slide 15 - Question ouverte

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

Slide 16 - Diapositive

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 - Diapositive

Slide 18 - Diapositive

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

Slide 19 - Diapositive





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 - Quiz

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 - Diapositive

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 - Diapositive

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 - Diapositive

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 - Diapositive

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

Slide 25 - Sondage

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

Slide 26 - Question ouverte