Workshop php: een productencatalogus Case



Dovnload 60.2 Kb.
Datum20.08.2016
Grootte60.2 Kb.
';






Workshop PHP: een productencatalogus

Case:


Uitgever van software wil webpagina met productgegevens publiceren op basis van catalogus. Het gaat momenteel slechts om 5 items, waarvan een afbeelding, de naam, een beschrijving van het product, de prijs en het bestelnummer moeten worden getoond op één pagina.

Zowel op de afbeelding, als op de productnaam moet kunnen worden doorgeklikt, waarna een nieuw scherm wordt geopend met detailgegevens over het item:



  • productnaam

  • afbeelding

  • prijs

  • highlights van het product

  • systeemvereisten voor het product



Voorwaarden:


  • Het ontwerp moet flexibel en dynamisch zijn. Dus als er een nieuw product bij komt, of er gaat één uit de catalogus, dan moet dat makkelijk aan te passen zijn.

  • De pagina’s moet in XHTML/PHP worden opgezet

  • Aangezien het geringe aantal producten in catalogus (5), wordt er NIET gewerkt met een database. In plaats daarvan, worden de productgegevens middels arrays beschikbaar gesteld.

  • De arrays met productgegevens moeten in een aparte include-file worden gedefinieerd (overzichtelijk en onderhoudbaar, met voldoende intern commentaar)

  • De unieke sleutel voor de producten is de zogenaamde EAN code (European Article Numbering). Deze code geeft elk Europees product een unieke code van dertien cijfers.

  • De volgende indeling in arrays moet worden gevolgd:

  • Array EAN, Naam

  • Array EAN, Prijs

  • Array EAN, Omschrijving

  • Array EAN, systeemvereisten

  • Array EAN, highlights



Op te leveren:


  • webpagina Catalogus.php, met een overzicht van alle vijf producten

  • webpagina Catalogusdetail.php, met de detailgegevens over een geselecteerd product

  • include pagina Catalogus.inc.php, met de definitie en content van de diverse arrays

  • include pagina Header.inc voor de header op elke pagina

  • include pagina Footer.inc voor de footer op elke pagina



Productgegevens:





EAN

Naam

Prijs

Omschrijving

Systeemvereisten

Highlights

9789045630816


Studio Webdesign



39.95

Professionele websites ontwerp je voortaan gewoon zelf! Dankzij de unieke interface in dtp-stijl creëer je met Studio Webdesign in alle eenvoud de meest aantrekkelijke sites, zonder je hiervoor te moeten verdiepen in ingewikkelde programmeertalen. Uitgeroepen tot beste koop door PCM (Personal Computer Magazine), juni 2004.

  • processor: Pentium ®

  • geheugen: 32 MB

  • besturingssysteem: Windows ® 95/98/98 SE/Me/2000/NT 4.0/XP

  • schijfruimte: 60 MB minimaal, 155 MB aanbevolen

  • scherm: resolutie 800 x 600 en 16-bit kleur

  • overige: cd-speler, muis (of ander Microsoft-compatibel aanwijsapparaat), internetaccount en -aansluiting om webpagina's op het web te publiceren

"Mogelijkheid complexe websites te ontwerpen, compleet met index en inhoudsopgave",

"Talrijke grafische effecten: verlopen en transparantie, frames en contouren, licht en schaduw, afgeronde en schuine hoeken...",

"Multimedia-elementen snel en eenvoudig invoegen en instellen: geluid, video, banners en animated GIF's, rollovers, hyperlinks...",

"Geavanceerde opmaakopties voor onberispelijke websites op maat",

"Krachtige tekengereedschappen om rechte en gebogen lijnen te tekenen, waarbij automatisch anti-aliasing wordt toegepast voor een optimale weergave",

"Geïntegreerde tekstverwerker om alinea's op te maken, genummerde lijsten en lijsten met opsommingstekens te maken, het gewenste type uitlijning in te stellen...",

"De bestandsomvang van de afbeeldingen wordt automatisch gereduceerd om de downloadtijd te beperken",

"Inclusief meer dan 100 kant-en-klare voorbeeldsites",

"Bibliotheek met meer dan 1300 elementen die u volledig naar wens kunt aanpassen





EAN

Naam

Prijs

Omschrijving

Systeemvereisten

Highlights

9789045632063


Plantenencyclopedie 2004

24.95

In deze nieuwe versie vindt u informatie over meer dan 5000 planten, bomen, bloemen en struiken met meer dan 3500 foto's. Als extra krijgt u er meer dan 400 kamerplanten bij, inclusief de verzorgingstips!

  • processor: Pentium ® II 300 MHz

  • geheugen: 32 MB

  • besturingssysteem: Windows ® 95/98/98 SE/Me/XP

  • schijfruimte: 20 MB scherm: resolutie 800 x 600

  • overige: cd-speler

"Meer dan 5000 planten, bloemen en struiken gecombineerd met meer dan 3500 foto's",

"11 plantencategorieën: Bollen/knollen, Bomen, Coniferen, Grassen, Klimplanten, Rododendrons, Rozen, Struiken, Vaste planten, Vruchtbomen en Water/moeras",

"Mogelijkheid tot toevoegen van nieuwe planten en foto's",

"Geïntegreerde forumfunctie die toelaat om via het Internet vragen te stellen en ervaringen uit te wisselen",

"Mogelijkheid tot opstellen van lijsten met de favoriete planten, met export- en importfunctie waardoor u uw lijsten kunt uitwisselen met andere Plantenencyclopedie-gebruikers.",

"Uitgebreide groei- en bloei-informatie: lichtbehoefte, bloeikleur, bloeimaand, bladkleur, bladvorm, hoogte, bodemsoort, winterkenmerk, vochtsituatie, bloeifrequentie, bloeiwijze, zuurtegraad bodem, plantdiepte, winterbestendigheid, vorstbestand, ...",

"Krachtige zoekfunctie die toelaat om te zoeken op de Latijnse of Nederlandse naam (of delen ervan), zoeken op botanische groep of andere bloei- en groei-informatie",

"Tuintips met tips over verzorging en aanplanting"





EAN

Naam

Prijs

Omschrijving

Systeemvereisten

Highlights

9789045632902


PC Drukkerij 3 Suite

29.95

Een krachtig programma met maar liefst 200.000 foto's en cliparts voor een onbeperkt aantal mogelijkheden! Op dezelfde engine gebaseerd als de andere PC Drukkerij-pakketten, maar met zo mogelijk nog meer afbeeldingen, sjablonen en thema's, is dit ongetwijfeld het meest complete programma uit de reeks! Meer dan 15.000 kant-en-klare voorbeelden: wenskaarten, visitekaartjes, uitnodigingen, verjaardagskaarten, cd-labels, menu's, ontwerpen om op textiel te drukken...

  • processor: Pentium ®

  • geheugen: 128 MB

  • besturingssysteem: Windows ® 98SE/Me/2000/XP

  • schijfruimte: 700 MB

  • scherm: resolutie 800 x 600 en 65000 kleuren

  • overige: dvd-speler, printer, Internet Explorer 5 of hoger

"Meer dan 15.000 kant-en-klare voorbeelden: wenskaarten, visitekaartjes, uitnodigingen, verjaardagskaarten, cd-labels, menu's, ontwerpen om op textiel te drukken...",

"Inclusief 20.000 afbeeldingen (foto's en cliparts)",

"Plus 200.000 extra foto's en cliparts die zowel in dit programma als in andere Windows-toepassingen kunnen worden gebruikt",

"Bibliotheek met standaardteksten voor de meest uiteenlopende gelegenheden",

"Functie om de titels en teksten in de voorbeelden van het Nederlands naar het Engels te vertalen",

"Verwante afbeeldingen en teksten zijn met één muisklik toegankelijk",

"Sjablonen, afbeeldingen en teksten zoeken op trefwoord",

"Meer dan 100 filters en unieke effecten: transparantie, grafische filters, maskers...",

"Mogelijkheid eigen foto's in te voegen en bestaande foto's automatisch door verwante foto's te vervangen zonder dat de opmaak ervan wordt gewijzigd",





EAN

Naam

Prijs

Omschrijving

Systeemvereisten

Highlights

9789045634814


Creatief Fotolab

29.95

De beste creatieve gereedschappen in dienst van je foto's! Eindelijk een alles-in-één oplossing om je foto's op een creatieve manier te beheren, te optimaliseren en te delen. Van het klassement naar de afdruk via het retoucheren, een diavoorstelling of zelfs de creatie van originele documenten, niets ontbreekt!

  • processor: Pentium ® III 500 MHz

  • geheugen: 128 MB

  • besturingssysteem: Windows ® 98/98SE/Me/2000/XP

  • schijfruimte: 350 MB

  • scherm: resolutie 800 x 600 en 65000 kleuren

  • overige: Optioneel: brander voor DVD-R(W) of DVD+R(W), scanner, digitaal fototoestel, internetaansluiting

"Snelle weergave en organisatie van alle afbeeldingen dankzij de geïntegreerde browser",

"Importeren van foto's vanaf randapparaten die TWAIN-compatibel zijn (scanner, digitaal fototoestel...)",

"Gereedschappen voor creatief retoucheren, die heel gemakkelijk te gebruiken zijn om onmiddellijk de stijl van uw foto's te wijzigen",

"Talrijke effecten beschikbaar voor het retoucheren, trukeren en monteren van foto's: maskers, filters, vervormingen, teksten, belichting, contrast, rode ogen...",

"Eenvoudig creëren van originele documenten voor elke gelegenheid",

"Inbegrepen, meer dan 150 aanpasbare sjablonen zodat u meteen aan de slag kunt: visitekaartjes, kalenders, wenskaarten, aankondigingen, uitnodigingen, affiches, brieven...",

"Volledige afdrukmodule met een wizard voor het afdrukken van uw foto's en documenten",

"Automatische aanpassing aan papierformaten van Easy Computing of eenvoudige instelling van aangepaste formaten",





EAN

Naam

Prijs

Omschrijving

Systeemvereisten

Highlights

9789045634838


MovieJack DVD Pro

49.95

Maak snel en eenvoudig back-ups van uw originele dvd-video's op traditionele cd-r's of dvd's. Het programma comprimeert de enorme hoeveelheid gegevens op de oorspronkelijke dvd automatisch tot een video-cd (VCD), super video-cd (SVCD) of DivX™-cd indien u dat wenst.

  • processor: Pentium ®

  • geheugen: 64 MB

  • besturingssysteem: Windows ® 98/Me/2000/XP

  • schijfruimte: 650 à 700 MB per film, 2 GB aanbevolen

  • scherm: resolutie 800 x 600

  • overige: dvd-rom, cd-rom, dvd-brander

"Kopieert dvd-video's 1:1 naar dvd-r, dvd-rw, dvd+r en dvd+rw",

"Kopieert dvd-video's 1:1 naar de harde schijf",

"Kopieert afzonderlijke hoofdstukken naar keuze naar dvd of de harde schijf",

"Converteert volledige dvd's of specifieke hoofdstukken met een indrukwekkende kwaliteit en snelheid, zodat ze op één beschrijfbare dvd passen",

"Dvd splitsen zonder kwaliteitsverlies",

"Mini-dvd's branden op cd",

"Ript dvd-bestanden ook rechtstreeks vanaf de harde schijf",

"Converteert dvd-video's naar VCD, XVCD, SVCD en XSVCD",

"Brandt geripte video's op cd-r(w)",

"Ondersteunt ook 'oversized' cd-r's tot 99 minuten",

"Converteert video's indien gewenst zonder veel omhaal 'on-the-fly'",

"Herkent automatisch dvd's in PAL- of NTSC-formaat",

"Ript indien gewenst alle beschikbare taalsporen en ondertitels",

"Ript video's automatisch in het juiste beeldformaat"





Toelichting:




Database of geen database?


Voor een online catalogus lijkt het voor de hand te liggen om een database te gebruiken. Dit is echter niet vanzelfsprekend. Soms zijn andere oplossingen te verkiezen. Bijvoorbeeld uit kostenoverwegingen: hosting met database ondersteuning is meestal duurder.

Maar ook performance overwegingen kunnen doorslaggevend zijn: database verkeer kost bandbreedte en I/O.

Ook zijn de ontwikkelkosten voor een database gestuurde applicatie vaak hoger.
Voor kleine toepassingen (met een kleine catalogus aan te publiceren producten) volstaat vaak het handig gebruik maken van het bestandssysteem van de server en/of het werken met arrays.

Arrays.


Arrays zijn tabellen, waarin gegevens kunnen worden opgeslagen. Zo’n tabel bestaat uit een x aantal gegevens, elk gekoppeld aan een index (ofwel: sleutel).
Definiëren van een array gaat als volgt:

$naam_array = array(“element 1”, “element 2”, …., “element n”);
Bijvoorbeeld:

$fruit = array(“appel”, “banaan”, “peer”);
Gebruik van de array:

// toon het derde element (!) van de array fruit:

echo $fruit[2];

// geeft als resultaat op scherm: peer
Standaard wordt een array geïndexeerd met integere waarden, beginnend bij 0 (nul). Je mag echter ook gebruik maken van eigen (associatieve) indexen:

$fruit = array(“a” => “appel”, “b” => “banaan”, “p” => “peer”);

Uitlezen van deze array gaat dan:



echo $fruit[“b”] // geeft “banaan” als resultaat
Verwerken van een gehele array gaat als volgt:

Foreach ($naam_array as $waarde)
Of:

Foreach ($naam_array as $sleutel => $waarde)
De hele array wordt doorlopen, vanaf het eerste element tot en met het laatste element. Bij elk element wordt/worden de instructie(s) bij uitgevoerd.

Voorbeeld:



$maand = array(1 => “jan”, “feb”, “mrt”, “apr”, “mei”, “jun”, “jul”, “aug”, “sep”, “okt”, “nov”, “dec”);

foreach ($maand as $maandnummer => $maandnaam) {

echo $maandnummer . “ “ . $maandnaam . “\n”;

}

Arrays gebruiken als alternatief voor database.


Als je op bovenstaande manier je productencatalogus organiseert, kun je deze in een include-file opslaan en gebruiken in elk willekeurig php script.

Je definieert één of meerdere arrays, waarin je de relevante gegevens ordent (productnummer, productnaam, omschrijving, prijs, etc.).


Voorbeeld catalogus.inc.php:



// Array met producten (EAN => naam):

$producten = array(

"9789045630816" => "Studio Webdesign",

"9789045632063" => "Plantenencyclopedie 2004",

"9789045632902" => "PC Drukkerij 3 Suite",

"9789045634814" => "Creatief Fotolab",

"9789045634838" => "MovieJack DVD Pro"

);
// Array met prijzen (EAN => prijs in euro):

$prijzen = array(

"9789045630816" => 39.95,

"9789045632063" => 24.95,

"9789045632902" => 29.95,

"9789045634814" => 29.95,

"9789045634838" => 49.95

);

.



?>
Verwerking van deze include-file in prijslijst.php:



// Arrays voor de catalogus insluiten:

require_once('catalogus.inc.php');
// De array $producten sorteren in oplopende volgorde:

array_multisort($producten, SORT_ASC);
// Begin van de webpagina en de tabel:

include_once('header.inc');

?>

Prijslijst




// Alle producten één voor één weergeven:

foreach ($producten as $ean => $naam) {

echo $naam; // Naam uit de array $producten

echo "\t";

echo str_replace(".", ",", $prijzen[$ean]); // Prijs uit de array $prijzen

echo "\n"; // Einde van de rij en een regeleinde

}

echo "\n"; // Einde van de tabel
include_once('footer.inc');

?>


Gebruik maken van in het bestandssysteem opgeslagen bestanden:




// Alle producten één voor één weergeven:

foreach ($producten as $ean => $naam) {

echo '
';

// Bestandsnaam in de vorm "EAN.gif", bijvoorbeeld "9789045634838.gif":

$afbeelding = $ean . ".gif";

// Afbeelding alleen weergeven als het bestand $afbeelding bestaat:

if (file_exists($afbeelding)) {

echo '';

echo '\' .  . \'';

echo '';

} else {

echo ' ';

}

echo '


De database wordt beschermd door het auteursrecht ©opleid.info 2017
stuur bericht

    Hoofdpagina