Viikkotehtävä 6
Tehdään pienelle treenitietokannalle käyttöliittymä.
Yhteiset vaatimukset:
- Tietojen tallentamiseen on käytettävä users.jyu.fi:ssä toimivaa SQLite-tietokantaa.
- Ongelmatilanteissa kts. myös SQLite-ohjeet.
- Tietokantakyselyt on tehtävä käyttäen PDO-rajapintaa.
- Huomioikaa, että kaikkien sivujen tulee pysyä mallien mukaisina ja valideina, vaikka käyttäjä syöttäisi HTML-koodia joihinkin syötekenttiin.
Muut perusvaatimukset:
- Käytetään PHP-kieltä.
- Kommentoikaa koodin oleellisimpia osia!
- Kaikkien sivujen on oltava validia XHTML 1.0 Strictiä.
- Valmiin PHP-ohjelman pitää toimia users.jyu.fi:ssä.
Taso 1
- Mallikuvat:
- Toteuta mallia vastaava treenitietokannan käyttöliittymä, jossa:
- Listataan tulossivulla taulukkona aikajärjestyksessä lajit ja henkilöt, jotka ovat kyseistä lajia treenanneet.
- Voi lisätä treenejä:
- Yhteen treeniin voi sisältyä yksi tai useampia lajeja.
- Treeni voi samanaikaisesti olla useampaa treenityyppiä.
- Uusien treenityyppien, henkilöiden tai lajien lisäämistä ei tarvi toteuttaa, mutta sivulla näkyvät henkilöt, treenityypit ja lajit pitää hakea tietokannasta.
- Käytä valmiiksi määriteltyä tietokantaa, jonka luontilauseet löytyvät kanta.sql-tiedostosta. Tietokannan rakennetta ei saa muuttaa.
Taso 3
Toteuta taso 1 -mukainen treenitietokanta seuraavilla muutoksilla ja lisäyksillä:
- Mallikuvat:
- Uusia henkilöitä voi lisätä kirjoittamalla etunimi- ja sukunimikenttään uuden henkilön nimitiedot. Syötettäessä jo kannasta löytyvät nimitiedot lisätään treeni tälle henkilölle.
- Lomakkeelle syötetyt tiedot pitää tarkistaa:
- Kahta samannimistä henkilöä ei saa lisätä tietokantaan.
- Henkilön nimi ei saa olla tyhjä.
- Alkuaika ei saa olla tulevaisuudessa.
- Kesto ei saa olla tyhjä.
- Matka saa olla tyhjä, mutta mahdollinen syötetty matka pitää olla suurempi kuin nolla.
- Laji on pakko valita.
- Treenityyppi on pakko valita.
- Matka, keskisyke, maksimisyke, kalorit ja kommentti eivät ole pakollisia kenttiä.
- Syötettyjen treenien listaus tulossivulla tehdään kaksitasoisena sisäkkäisenä listana.
- Käytä 1. tasolla annettua tietokantaa. Tietokannan rakennetta ei saa muuttaa.
Taso 5
Toteuta taso 3 -mukainen treenitietokanta seuraavilla muutoksilla ja lisäyksillä:
- Mallikuvat:
- Lisäyssivulla voi lisätä myös uusia treenityyppejä ja lajeja. Ei saa lisätä jo olemassa olevan nimistä uutta treenityyppiä tai lajia. Virheellisistä lisäyksistä tulee antaa virheilmoitukset samaan tapaan kuin muistakin virheellisistä syötteistä.
- Treenilistauksesta voi valita mihin tahansa treeniin osoittavan linkin ja pääsee muokkaamaan kyseisen treenin sisältöä samalla lomakkeella millä treenin lisääminenkin tehtiin. Muokattu treeni tallennetaan edellisen version päälle.
- Voit halutessasi muokata tietokannan rakennetta paremmin vaatimuksia vastaavaksi.

Käyttäjien kommentit