PHP Les 03: Koppelen met een database
Doelstelling les
- Gegevens uit een database kunnen halen en presenteren in een web-pagina
- Eerste aanzet tot strakke scheiding ophalen data, verwerken data en input en presenteren van resultaten.
Voorbereiding (studenten)
- Huiswerk vorige les natuurlijk
- Bestudeer uit de reader hoofdstuk Database
- Bekijk video's van CodeCourse op OnderwijsOnline:
- 21-CodeCourse-PDO-Connecting.mp4
- 22-CodeCourse-PDO-Getting results.mp4
Lesprogramma
- Huiswerk bespreken
- menukaart dynamisch
- gebruik van http://localhost:8080/menukaart.php?soort=drinken
- Gebruik van functies bespreken
- Koppelen met de database
Koppelen met de database
Na de uitleg over het verbinden met de database gaan we samen aan de slag met het opbouwen van query's en die weergeven in de browser.
In de ontwikkelomgeving van WTIS zit een database server gebouwd.
-
Open Microsoft SQL Server Management Studio (SSMS) en maak verbinding met de database:
- Server:
localhost, 1434
(let op dat je het poortnummer correct meegeeft) - Login:
sa
- Wachtwoord:
abc123!@#
(staat in de root map in bestandvariables.env
)
- Server:
-
Voer de query uit en laat resultaat zien. We maken de queries eerst in SSMS voordat we de query uitwerken in PHP.
SELECT titel FROM stuk
-
Maak een PHP-pagina aan met de naam
muziekstukken.php
.- include het bestand
db_connectie.php
. - Kopieer de query uit management studio en verwerk die in de php-pagina, zodat alle titels getoond worden.
- Selecteer nu meer gegevens en bouw een table op.
select stuknr, titel, genrenaam, niveaucode from stuk
.
- include het bestand
-
In de eerder query zit nu een niveaucode, terwijl het veel handiger is om daar de niveaucodeomschrijving te geven. Let op, er is een left outer join nodig, anders vallen stukken met niveau
null
weg.SELECT stuknr, titel, genrenaam, n.omschrijving FROM stuk s LEFT OUTER JOIN niveau n ON s.niveaucode = n.niveaucode
-
Voeg nu zelf de naam van de componist toe aan de query en geef deze weer.
Huiswerk
-
Maak een overzicht van alle componisten (naam en geboortedatum) met de muziekschool (naam en plaatsnaam) waar hij/zij werkzaam is.
-
Maak het overzicht netter:
- Geboortedatum als
dag maand jaar
bijv.05 Jan 1946
- Muziekschool en plaatsnaam alleen als die gevuld is (anders
leeg)
- Geboortedatum als
-
Voorbereiding volgende les