Gå direkt till innehållet

FYSIKUMS WEBB- OCH MEDIAKURSER

Uppgiften är obligatorisk.

Sidor i webbshopen med listning av databasutsökningar och formulär för infogning, uppdatering och sökning.

I en av de första inlämningsuppgifterna gjorde du ett skelett till en webbplats. Bl.a skulle du skapa en sida för artikellistning. Nu är det dags att göra allvar med denna och andra tomma sidor! En hel del funktioner på webbsidor med databasstöd kräver någon sorts inmatning av värden för att fungera. Förutom artikellistningen ska du nu göra ett antal sidor med formulär för sökning i och modifiering av databasen.

Du ska redan i en tidigare uppgift ha tagit fram och testat de SQL-satser som behövs för uppgiften, ett antal SELECT-satser, UPDATE-satser resp. INSERT-satser, redo att klippa-och-klistras in i PHP-skriptet. Denna uppgift handlar om att få SQL-satserna att fungera i ett PHP-sammanhang.

Deluppgift 1. Lista alla data i en tabell

På sidan ska finnas en lista med samtliga artiklar i din artikeltabell (el.mostv., om du inte arbetar med en webbshop). Ta för varje artikel bara med relevanta data (t.ex titel, pris och beskrivning, om du har sådana fält i din artikeltabell). Du behöver alltså inte göra en kopplad utsökning i flera tabeller för denna uppgift.

Listningen ska presenteras som en snygg HTML-tabell med tydliga rubriker för kolumnerna. Behöver du verkligen ha tabellkanten påslagen...?

Deluppgift 2. Fritextsökning

Ett formulär med ett textfält. Man ska kunna fylla i ett ord och sedan få en snygg resultatlistning på alla artiklar (el. motsv.) som matchar sökningen. I Hans bokhandelsexempel skulle man t.ex kunna söka efter träffar i fältet "titel". Resultatet ska visas i en snyggt formaterad HTML-tabell.

Deluppgift 3. Uppdatera befintlig post

Välj ut ett fält i någon av dina tabeller som kan uppdateras, t.ex fältet "pris" eller "beskrivning" i artikeltabellen i bokhandelsexemplet. Data i fältet ska kunna ändras via ett formulär. Man måste också på något sätt ange vilken artikel (el. motsv.) som ska ändras, t.ex med ett ifyllbart fält för artikel-id, en lista med radioknappar eller en nedfällbar lista.

Denna webbplatsfunktion hör till de administrativa sysslorna, så sidan måste ligga i administrationskatalogen i din webbrotkatalog.

Deluppgift 4. Infoga ny post

Välj ut en av dina uppslagstabeller (t.ex tabellerna "bandtyp", "genre" eller "kund" i bokhandelsexemplet) och gör ett formulär för att lägga in en ny post i tabellen. Det ska finnas ifyllbara textfält för alla fält i tabellen utom id-fältet (som ju vanligtvis är auto-inkrementerat).

Denna webbplatsfunktion hör till de administrativa sysslorna, så sidan måste ligga i administrationskatalogen i din webbrotkatalog.

Deluppgift 5. Snygg startsida

Webbshopen ska naturligtvis ha en snygg startsida, med länkar till bl.a sidor för de olika deluppgifterna ovan. Fixa alltså till startsidan, om du inte redan har gjort detta.

Tips

Det kan inte nog betonas hur viktigt det är att testa varje delmoment för sig när man arbetar med kombinerade formulär- och databasanropskript! Börja med att testa SQL-satsen i en MySQL-klient, testa den sedan i en webbsida med givna värden och kolla i MySQL-klienten att allt funkar. Gör sedan en separat formulärsida, designa och testa först formuläret och sedan felkontrollen. Först nu kan du klistra in databasanropskoden i formulärsidans bearbetningsavsnitt.

Testa hur formulär och databasanrop fungerar om man skriver in felaktiga värden (t.ex bokstäver i ett numeriskt fält) eller bara trycker på skickaknappen utan att ha fyllt i något i formulärfältet. Får man begripliga felmeddelanden?

Redovisning av uppgiften

Visa webbsidorna med listningen och formulären. Visa den bakomliggande koden och var beredd på att redovisa enskilda detaljer i koden. Sidor som är till för administratörer ska ligga i admin-katalogen. Visa också att de data du lägger in resp. ändrar verkligen hamnar i databasen, antingen med en listning av de relevanta tabellerna på en webbsida eller med en utsökning i en MySQL-klient.

Relevanta häften

kodvalidering:
tester:
HTTP-data:
sidstruktur:
resurser:
välj stilmall:
välj typsnitt:

Senast uppdaterad 3 juni 2009

föregående avsnitt 23 nästa