Uppgiften är obligatorisk.
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.
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...?
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.
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.
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.
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.
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?
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.
[PHP] ANROPA MYSQL-DATABASER
internet.physto.se/servertekniker/php/mysql
[PHP] FOR-SLINGOR OCH HTML-TABELLER
internet.physto.se/servertekniker/php/slingor/for/for_exempel
[WEBBSHOPEN] KONKRET EXEMPEL PÅ PHP-ANROP
internet.physto.se/webbapplikationer/kursexempel/konkret_exempel_phpanrop
© 1995-2013 Hans Mühlen
Kontaktadress: hvzm physto.se
Kurserna ges av Fysikum vid Stockholms universitet.
Senast uppdaterad 3 juni 2009