Workshop php
This presentation is the property of its rightful owner.
Sponsored Links
1 / 27

Workshop PHP PowerPoint PPT Presentation


  • 120 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

Workshop PHP

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Workshop php

Workshop PHP

Een productencatalogus

Met database


Relationele 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

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

Gegevens in tabel Product:


Database systemen

Database systemen

  • MySQL (zeer vaak i.c.m. PHP)

  • Access

  • PostgreSQL

  • MS SQL Server


Workshop php

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

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 statement

  • CREATE TABLE naam-tabel (

  • veld1veldtype1veldspec1,

  • veld2veldtype2veldspec2,

  • ….

  • veldnveldtypenveldspecn,

  • PRIMARY KEY (veldx),

  • );


Create statement voorbeeld

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 statement

  • SELECT veld1, veld2, …, veldn

  • FROM tabel1, tabel2, …, tabeln

  • WHERE conditie

  • ORDER BY veldx


Select statement voorbeeld

SELECT statement – voorbeeld

  • SELECT ‘ean’, ‘naam’, ‘prijs’

  • FROM ‘producten’

  • WHERE ‘ean’ > 9789045638379

  • ORDER BY ‘prijs’ DESC;


Database gebruiken in php

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 maken met databaseserver

  • $verbinding = mysql_connect(“localhost”, “root”, “”) or die(mysql_error());


Selecteren database

Selecteren database

  • mysql_select_db("test") or die(mysql_error());


Query samenstellen

Query samenstellen

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


Geselecteerde records verwerken

Geselecteerde records verwerken

while ($rij = mysql_fetch_assoc($resultaat)) {

echo $rij["omschrijving"];

}


Verbinding met databaseserver verbreken

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

Structuur typische webwinkel

  • Tabellen:

    • Klanten(klantid, wachtwoord, NAW)

    • Producten(ean, naam, prijs, omschrijving)

    • Orders(ordernr, klantid, datum, status)

    • Orderregels(ordernummer, ean, aantal)


Datamodel webwinkel

KLANTEN

ORDERS

PRODUCTEN

ORDERREGELS

Datamodel webwinkel


Functies van webwinkel

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

Formulier Account


Pseudocode 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

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

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

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

Pseudocode Winkelwagen (4)

  • Inhoud winkelwagen weergeven

    • ….


Pseudocode winkelwagen 5

Pseudocode Winkelwagen (5)

  • Afrekenen

    • ….


  • Login