Workshop PHP Een productencatalogus Met database.

Slides:



Advertisements
Verwante presentaties
Module 7 – Hoofdstuk 5 (1) SQL – een begin.
Advertisements

Meerdere tabellen: Relaties en Joins
Deel XIV Eerste echte e-commerce applicatie Implementatie (vervolg) 1 Internetapplicaties Deel 14: Eerste echte e-commerce applicatie: Implementatie (vervolg)
PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.
Databases Informatica Ga verder met een muisklik. SQL FCO DBMS NE FA
Databank van een restaurant Download op Twee tabellen: Klanten: Alle klanten die minstens.
MySQL-acties Klassikaal: Wijnen.sql. 1.Toon alle wijnen die er zijn. Toon de naam, kleur en prijs. SELECT `naam`,`kleur`,`prijs` FROM `wijnen`
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Het selecteren van data uit meerdere gekoppelde tabellen
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Databases.
Internetapplicaties - VIII Relationele Databases 1 Internetapplicaties Deel 8: Relationele Databases.
W ORD P RESS TECHNISCHE ACHTERGROND Kris Cardinaels 26 maart 2013.
Inhoud Kenmerken ODBC HTML & PHP Inlogfunctie. Inhoud Kenmerken ODBC HTML & PHP Inlogfunctie.
LauwersCollege Buitenpost Informatica
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Basis 4.1 Computervaardigheden en Programmatie 1rste BAC Toegepaste Biologische Wetenschappen.
Databanken by Steven Stinis.
Relationele databases: Fysiek databaseontwerp en SQL
Download en installeer de gereedschappen
Download en installeer de gereedschappen
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Vorige week: Referentiele integriteit
SQL (structured Query Language) DDL (Data Definition Language) DML (Data Manipulation Language) Ontwerp databaseBevraag database.
Workshop PHP Een productencatalogus. Case Uitgever van software wil webpagina met productgegevens publiceren op basis van catalogus. Het gaat momenteel.
Hoofdstuk 16 en 19 PHP en MYSQL
Databases.
Relationele Databases Hoofdstuk 10 Deel 2 Blz.: 90 t/m 95.
Presenteert:.
PHP & MYSQL LES 02 PHP & FORMULIEREN. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.
PHP & MYSQL LES 04 CMS: BEST PRACTICE. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.
SQL ( SERVER ) Les #02: T-SQL. A GENDA Herhaling les 4 Views SELECT…INTO Beheren van tabellen: CREATE ALTER DROP Opdracht voor de volgende les.
LauwersCollege Buitenpost Informatica
Computervaardigheden Hoofdstuk 4 — Databank (Basis)
7 Databases. STRUCTURED QUERY LANGUAGE Bij het relationele model hoort een programmeertaal waarmee de database benaderd kan worden. In de praktijk wordt.
Databases Hoofdstuk 25 Hoofdstuk 24.
24/04/2015IT-Assurance1 IT-Assurance deeltijd 4. Inleiding SQL Introductie in de basisfuncties Bijbehorend lesmateriaal: -AIV-boek van Derksen en Crins.
Front-end development
Hoofdstuk 11 Databasemanagementsystem. hoofdstuk 112 STROKENDIAGRAMMEN llnrvoornaamtussenvachternaamstraathuisnummerpostcodeplaatstelefoongeslachtgebdatumklas.
Les 0 Structured Query Language SQL. Programma Les 0 – Introductieopdracht Les 1 Les 2 Les 3 Schriftelijke toets.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
BIMAIV03 Les A1 BIMAIV03 Les A1 Databases. De gegevens in een database vormen de grondstof voor informatie De informatie wordt opgevraagd in de taal met.
Week 3 BIMAIV03 Les B3 BIMAIV03 Les B3. Opdracht 1 Van een artikel mogen maximaal 300 stuks verkocht worden. Verschillende klanten bestellen een aantal.
ANALYSE 3 INFANL01-3 WEEK 8 CMI Informatica. ANALYSE 3- INFANL01-3 ▸ Vorige les ▸ Herhaling ▸ Normaliseerregels ▸ Omzetten ERD ▸ Group by en SET ▸ Proeftentamen.
Week 6 BIMAIV03 les B1. DML en DDL ata D anipulation M anguage L ata D efinition D anguage L.
Week 1 BIMAIV03 Les B2 BIMAIV03 Les B2. Uit het voorgaande... CREATE TABLE... Opdracht om een nieuwe tabel binnen de database te creëren. Aandachtspunten.
ANALYSE 3 INFANL01-3 WEEK 6 CMI Informatica. ANALYSE 3- INFANL01-3 ▸ Vorige les ▸ Subqueries met correlaties ▸ Subqueries zonder correlaties ▸ Views ▸
Wat is SQL (1)? SQL (Structured Query Language):  is een zeer krachtige taal met een beperkt vocabulaire (aantal ‘woorden’)  is declaratief (‘WAT’ niet.
LPI 1.05 Marcel Nijenhof. Agenda ● Customize and use the shell environment ● Customize or write simple scripts ● SQL data management.
Databases.
– Software development fundamentals
SQL Cursus deel
Informatica-Actief Thema: Databases en informatiemodellering
LauwersCollege Buitenpost Informatica
Informatie-analyse 1: Er zijn veel manieren om een database te vullen
Databases.
Software Development fundamentals
SQL Les February 2019.
SQL Les 3 17 February 2019.
SQL Les 3 23 February 2019.
SQL Les 7 24 February 2019.
Database connect formulieren 1 februari 2016.
SQL Les 1 5 April 2019.
SQL Les 6 14 April 2019.
SQL Les 9 12 May 2019.
SQL Les 4 12 May 2019.
– Software development fundamentals
Software Development fundamentals
Transcript van de presentatie:

Workshop PHP Een productencatalogus Met database

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

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

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

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

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

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

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

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`), );

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

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

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

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

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

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

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

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

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

Datamodel webwinkel KLANTENORDERS ORDERREGELS PRODUCTEN

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

Formulier Account

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

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.)

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.)

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

Pseudocode Winkelwagen (4) Inhoud winkelwagen weergeven ….

Pseudocode Winkelwagen (5) Afrekenen ….