De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Workshop PHP Een productencatalogus Met database.

Verwante presentaties


Presentatie over: "Workshop PHP Een productencatalogus Met database."— Transcript van de presentatie:

1 Workshop PHP Een productencatalogus Met database

2 Relationele database Gegevens gestructureerd in tabellen Tabellen bestaan uit rijen (records) en kolommen (velden) Tabellen kunnen onderling relaties hebben, op basis van sleutelgegevens Sleutels kunnen primair zijn of referentieel Primaire sleutels maken elk record uniek in de hele tabel Geschikte primaire sleutel in bijvoorbeeld EAN

3 Typische productentabel Een typisch voorbeeld van een productentabel is: VeldTypeNull? EANbigint(13)not null Naamvarchar(255)not null Prijsfloatnot null Omschr.Textnot null DetailsMediumtext

4 Gegevens in tabel Product: EANNaamPrijsOmschrDetails 9789045630816Studio Webdesign39.95Professionele websites ontwerp je voortaan gewoon zelf! processor: Pentium ® geheugen: 32 MB besturingssysteem 9789045632063Plantenencyclopedie 2004 24.95In deze nieuwe versie vindt u informatie over meer dan 5000 planten processor: Pentium ® geheugen: 64 MB besturingssysteem …..

5 Database systemen MySQL (zeer vaak i.c.m. PHP) Access PostgreSQL MS SQL Server

6 SQL Universele taal om: Database te creëren Tabellen te creëren Gegevens in te voeren in tabellen Gegevens te muteren in tabellen Gegevens te verwijderen uit tabellen Gegevens op te vragen uit tabellen

7 SQL (2) Elk database systeem maakt gebruik van SQL code Vaak GUI om SQL te genereren Basis statements SQL: CREATE  tabel aanmaken INSERT  records toevoegen in tabel SELECT  records selecteren uit tabel UPDATE  records bijwerken in tabel DELETE  records verwijderen uit tabel

8 CREATE statement CREATE TABLE naam-tabel ( veld1 veldtype1 veldspec1, veld2 veldtype2 veldspec2, …. veldn veldtypen veldspecn, PRIMARY KEY (veldx), );

9 CREATE statement – voorbeeld CREATE TABLE `producten` ( `ean` BIGINT(13) NOT NULL, `naam` VARCHAR(255) NOT NULL, `prijs` FLOAT NOT NULL, `omschrijving` TEXT NOT NULL, `details` MEDIUMTEXT, PRIMARY KEY (`ean`), INDEX (`naam`, `prijs`), );

10 SELECT statement SELECT veld1, veld2, …, veldn FROM tabel1, tabel2, …, tabeln WHERE conditie ORDER BY veldx

11 SELECT statement – voorbeeld SELECT ‘ean’, ‘naam’, ‘prijs’ FROM ‘producten’ WHERE ‘ean’ > 9789045638379 ORDER BY ‘prijs’ DESC;

12 Database gebruiken in PHP Verbinding maken met databaseserver: Server Gebruiker Wachtwoord Selecteer database Query(‘s) uitvoeren Records verwerken Verbinding verbreken

13 Verbinding maken met databaseserver $verbinding = mysql_connect(“localhost”, “root”, “”) or die(mysql_error());

14 Selecteren database mysql_select_db("test") or die(mysql_error());

15 Query samenstellen $resultaat = mysql_query("SELECT * FROM `producten`") or die(mysql_error());

16 Geselecteerde records verwerken while ($rij = mysql_fetch_assoc($resultaat)) { … echo $rij["omschrijving"]; … }

17 Verbinding met databaseserver verbreken mysql_free_result($resultaat); mysql_close($verbinding); Let op! Open connectie zo laat mogelijk Sluit connectie zo vroeg mogelijk

18 Structuur typische webwinkel Tabellen: Klanten(klantid, wachtwoord, NAW) Producten(ean, naam, prijs, omschrijving) Orders(ordernr, klantid, datum, status) Orderregels(ordernummer, ean, aantal)

19 Datamodel webwinkel KLANTENORDERS ORDERREGELS PRODUCTEN

20 Functies van webwinkel PHP scripts/functies maken voor: Account aanmaken/registreren als klant Tonen productenoverzicht Tonen product detailgegevens Toevoegen product aan winkelwagen Tonen inhoud winkelwagen Verwijderen product uit winkelwagen Afrekenen

21 Formulier Account

22 Pseudocode Account Formulier lezen en controleren Als geen fouten in formulier: Databaseverbinding openen Controleer of gebruiker bestaat Als gebruiker nog niet bestaat Voeg nieuwe account toe in tabel Anders Geef foutmelding Databaseverbinding sluiten Anders: Stuur formulier uit op scherm Ga naar Stap 1

23 Pseudocode Winkelwagen (1) Check ordernummer (session-id) Als bestaat Lees ordernummer uit sid (session-id) Anders Genereer nieuw ordernummer (random) Open databaseverbinding Voeg record toe aan tabel Orders Sluit databaseverbinding (z.o.z.)

24 Pseudocode Winkelwagen (2) Als actie = Toevoegen (via GET) Als product bestaat (komt via URL) Open databaseverbinding Als Orderregel bestaat Hoog aantal op met 1 in Orderregel Anders Maak nieuwe Orderregel met aantal 1 Sluit databaseverbinding (z.o.z.)

25 Pseudocode Winkelwagen (3) Als actie = Verwijderen (via GET) Als product bestaat Als order bestaat Open databaseverbinding Verwijder Orderregel voor deze order (z.o.z.)

26 Pseudocode Winkelwagen (4) Inhoud winkelwagen weergeven ….

27 Pseudocode Winkelwagen (5) Afrekenen ….


Download ppt "Workshop PHP Een productencatalogus Met database."

Verwante presentaties


Ads door Google