O B S A H

1.cvičenie - Webové služby
2.cvičenie - Základy SQL
3.cvičenie - Príklady SQL
4.cvičenie - Príklady SQL 1
5.cvičenie - Webová služba SelectService
6.cvičenie - Tvorba tabuliek v PHP
7.cvičenie - Tvorba aplikácie v PHP
8.cvičenie - Pomocné funkcie aplikácie
9.cvičenie - Funkcionalita aplikácie - vstup
10.cvičenie - Funkcionalita aplikácie - prezeranie
11.cvičenie - Funkcionalita aplikácie - oprava
12.cvičenie - Funkcionalita aplikácie - sumár
13.cvičenie - Mobilné služby
14.cvičenie
Literatúra
Ukážky sql dotazov.
Odkazy






  1. cvičenie - Webové služby


    Prednáška: Webové služby


    Úlohy:

    1. Vo svojom adresári na "sigma.tuke.sk" vytvorte adresár cvic1 a v ňom adresáre ws_function a ws_class. a do nich uložíte všetky súbory, ktoré vytvoríte na cvičení. Nakopírujte do neho skript globals.php, query.php a query_res.php z predchadzajúceho cvičenia. Otvorte skript globals.php a zadajte do neho svoje prihlasovacie údaje na server mysql.tuke.sk . Spustite skript query.php a napojte sa na svoju databázu!
    2. Podľa prednášky vytvorte webovú službu s názvom vypocet , ktorá vypočíta zvolenú aritmetickú operáciu z niekoľkých vstupných údajov.
    3. Požadované súbory ku webovej službe client.php , server.php a function.php vytvorte podľa pokynov na cvičení a podľa prednášky.
    4. Súbor vypocet.wsdl. doplňte podľa typu výpočtu, ktorý služba poskytuje.
    5. Vytvorte webovú službu s názvom trieda , ktorá vypíše zvolený text na základe vytvorenej inštancie triedy.
    6. Súbory ku webovej službe client.php , server.php a class.php vytvorte podľa pokynov na cvičení a podľa prednášky.
    7. Súbor vypocet.wsdl. doplňte podľa typu výpočtu, ktorý služba poskytuje.
    8. Doplňte deklaráciu a kódovanie pre správne HTML interpretovanie obsahu webovej služby.


    Zadanie:



    Na začiatok
  2. cvičenie - Základy SQL


    Prednáška: Základy SQL


    Úlohy:

    1. Na serveri omega.tuke.sk vytvorte adresár cvic2 Podľa svojich prihlasovacích údajov vytvorte súbor db.php, ktorý bude súčasťou všetkých skriptov pristupujúcich k databáze. Overte správnosť a funkčnosť vytvoreného súboru jeho spustením.
    2. Podľa skript vytvorte skript crins_table.php pre tvorbu tabuliek prostredníctvom sql príkazu v php skripte. Vytvorte na príkaz na zápis vstupných hodnôt do databázových tabuliek s využitím SQL príkazu INSERT, podľa insert. Príkazy na naplnenie všetkých tabuliek umiestnite do crins_table.php. Následne vytvorte funkciu na tvorbu tabuliek a volaním funkcie v crins_table.php vytvorte všetky tabuľky do aplikácie filmy a aj ich naplňte 5 riadkami záznamov:
      1. Zostavte SQL príkaz pre vytvorenie tabuľky film s nasledovnou štruktúrou: id_film INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name varchar(50) NOT NULL, name_orig varchar(50), year int NOT NULL, length int NOT NULL, id_genre int NOT NULL, content text, bonusy text. Tabuľlku naplnte 5 riadkami.
      2. Vytvorte tabuľlku cis_genre s nasledovnou štruktúrou: id_genre INT NOT NULL AUTO_INCREMENT PRIMARY KEY, genre varchar(50) NOT NULL. Do tabuľky vložte 5 riadkov.
      3. Vytvorte tabuľku cis_lang so štruktúrou: id_lang INT NOT NULL AUTO_INCREMENT PRIMARY KEY, lang varchar(50) NOT NULL) Tabuľku naplnte 5 riadkami.
      4. Vytvorte tabuľku cis_serial s nasledovnou štruktúrou: id_ser INT NOT NULL AUTO_INCREMENT, serial varchar(50) NOT NULL, primary key(id_ser) Tabuľku naplnte.
      5. Vytvorte tabuľku cis_act so štruktúrou: id_act INT NOT NULL AUTO_INCREMENT PRIMARY KEY, actor varchar(50) NOT NULL. Tabuľku naplnte.
      6. Vytvorte tabuľku subnames so štruktúrou: id_film INT NOT NULL, id_nsn INT NOT NULL AUTO_INCREMENT, subname varchar(50) NOT NULL, sublength INT, primary key(id_film, id_nsn). Tabuľku naplnte.
      7. Vytvorte tabuľku langs s nasledovnou štruktúrou id_film INT NOT NULL, id_nl INT NOT NULL AUTO_INCREMENT, id_lang INT NOT NULL, primary key (id_film, id_nl). Tabuľku naplnte.
      8. Vytvorte tabuľku titles so štruktúrou: id_film INT NOT NULL, id_nt INT NOT NULL AUTO_INCREMENT, id_lang INT NOT NULL, primary key(id_film, id_nt). Tabuľku naplnte.
      9. Vytvorte tabuľku actors s nasledovnou štruktúrou: id_film INT NOT NULL, id_na INT NOT NULL AUTO_INCREMENT, id_act INT NOT NULL, primary key(id_film, id_na). Tabuľku naplnte.
      10. Vytvorte tabuľku film_ser so štruktúrou: id_ser INT NOT NULL, id_film INT NOT NULL, primary key(id_ser, id_film). Tabuľku naplnte.
      11. Vytvorte tabuľku langs2 s nasledovnou: id_film INT NOT NULL, id_nl INT NOT NULL AUTO_INCREMENT, id_lang INT NOT NULL, title INT NOT NULL, primary key(id_film, id_nl) s ENGINE=MyISAM.


    Zadanie:

    Vypracujte aspoň 3 otázky a odpovede (kadždý študent) priebežného testu.

    Na začiatok
  3. cvičenie - Príklady SQL


    Prednáška: Príklady SQL


    Úlohy:

    1. Na serveri omega.tuke.sk vytvorte adresár cvic3. Podľa ukážky select.php a podľa štruktúry Vašich tabuliek vytvorte výpisy a následne php skripty pre nasledujúce úlohy:
      1. Z tabuľky film zobrazte stlpce: id_film, name, id_genre, length ale len tie riadky kde v stĺpci id_genre je hodnota 1. Výber nech je usporiadaný vzostupe podľa stĺpca length
      2. Z tabuľky film (tabuľka filmov) a tabuľky cis_genre (tabuľka žánrov) vyberte stĺpce id_film, name, genre, length a zobrazte len tie riadky kde id_genre=1 (tabuľka film) a kde sú rovnaké hodnoty v stĺpcoch id_genre v tabuľke film a cis_genre
      3. Z tabuľky langs zobrazte len tie riadky kde v stĺpci id_film je hodnota 1.
      4. Z tabuľky langs a tabuľky cis_lang vyberte stĺpce id_film (tabuľka langs), id_nl (tabuľka langs), lang (tabuľka cis_lang) a zobrazte len tie riadky kde id_film=1 (tabuľka langs) a kde sú rovnake hodnoty v stĺpcoch id_lang v tabuľkách: langs a cis_lang.
      5. Vyberte stĺpec id_film z tabuľky film, stĺpec name z tabuľky film, stĺpec genre z tabuľky cis_genre, stĺpec length z tabuľky film a stĺpec lang z tabuľky cis_lang kde v tabuľke film je v stĺpci id_genre hodnota 1, rovnaké sú hodnoty v stĺpci id_genre v tabuľkách film a cis_genre, v stĺpci id_film v tabuľke film a langs, v stĺpci id_lang v tabuľkách langs a cis_lang a nakoniec kde v stĺpci id_film v tabuľke film je honota 1. V podstate sa jedná o výber názvu žánru a jazykov pre jeden film.
      6. Vyberte stĺpec id_film z tabuľky film, stĺpec name z tabuľky film, stĺpec genre z tabuľky cis_genre, stĺpec length z tabuľky film a stĺpec lang z tabuľky cis_lang kde v tabuľke film je v stĺpci id_genre hodnota 1, rovnaké sú hodnoty v stĺpci id_genre v tabuľkách film a cis_genre, v stĺpci id_film v tabuľke film a langs, a nakoniec kde sú rovnake hodnoty v stĺpci id_lang v tabuľkách langs a cis_lang. V podstate sa jedná o výber názvu žánru a jazykov pre všetky filmy.
      7. Zostavte SQL príkaz pre výber názvu seriálu pre zvelený jeden film z tabuliek: film, cis_genre, langs, cis_lang, film_ser a cis_serial. Zobrazené budú stĺpce: serial (z tabuľky cis_serial), id_film (z tabuľky film), name (z tabuľky film), genre (z tabuľky cis_genre), length (z tabuľky film), lang (z tabuľky cis_lang) a len tie riadky kde id_genre = 1 (v tabuľke film), id_genre (tabuľka film) = id_genre (tabuľka cis_genre), id_lang (tab. langs) = id_lang (tab. cis_lang), id_film (tab. film) = id_film (tab. film_ser), id_ser (tab. film_ser) = id_ser (cis_serial) a kde v stĺpci id_film (tab. film) je číslo 1.
      8. Pomocou prikazov SELECT a EXIST urobte výber všetkých filmov (tabuľka film a film_ser), ktoré sú seriály následne urobte výber len tých filmov, ktoré nie sú seriály (príkaz NOT EXIST), pričom výsledok je usporiadaný podľa poľa name.
      9. Pomocou príkazov SELECT a EXIST urobte výber filmov, ktoré sú seriály, pričom výsledok je doplnený názvom seriálu. Výber obsahuje stĺpce serial (cis_serial), id_film (film), name (film), year (film), length (film). Druhý SELECT, ktorý nasleduje za príkazom EXIST vyberá stĺpec id_ser z tabuľky film_ser, kde id_film (tab. film) = id_film (tab. film_ser) a id_ser (tab. film_ser) = id_ser (tab. cis_serial).
      10. Z tabuľky filmov (tab. film) a jazykov (tab. langs) vyberte stĺpce id_film (tab. filmy), name, name_orig, year, length, id_genre a len tie riadky kde id_film (tab. film) = id_film (tab. langs) a id_lang (tab. langs) = 3. V podstate sa jedná o výber všetkých filmov s anglickým jazykom.
      11. Pomocou príkazu AS vytvorte pre tabuľku film pole pocet a priem_dĺžka a pomocou príkazu COUNT a AVG vypočítajte priemernú dĺžku všetkých filmov, ktoré nie sú seriály. V stĺpci pocet je vypočítany počet týchto filmov. Pre výber filmov, ktoré nie sú seriály použite príkazy NOT EXIST a SELECT (stlpec id_ser z tab. film_ser)
      12. Pre filmy, ktoré sú seriály určte názov seriálu, počet jeho častí a ich celkovú dĺžku. Pre vyriešenie úlohy použite SQL príkaz AS pre vytvorenie a zobrazenie stĺpcov serial, pocet_casti, dlzka_celk. Prvý SELECT vyberá z tabuliek: film, film_ser, cis_serial len tie riadky kde film.id_film = film_ser.id_film a film_ser.id_ser = cis_serial.id_ser. Druhý SELECT za príkazom EXIST vyberá z tabuľky film_ser, riadky kde film.id_film = id_film.
      13. Pomocou podmieneného príkazu IF vyberte za tabuľky film väčšiu z hodnôt v stĺpcoch year a length a výsledok uložte do stĺpca vacsi
      14. Pomocou podmieneného príkazu IF a príkazu AS vyplnte všetky prázdne políčka v stĺpci bonusy reťazcom "Nezadané" pričom z tabuľky film zobrazte stĺpce: id_film, name, year, length.
    2. Na záver nezabudnite všetky súbory (aj s príponou css), ktoré sa chystáte umiestniť do adresára s dnešným cvičením opraviť podľa http://validator.w3.org/   po úspešnej validácii umiestnite na spodok stránky ikony.

     


    Na začiatok
  4. cvičenie - Príklady SQL 1


    Prednáška: Príklady SQL 1


    Úlohy:

    1. Na serveri omega.tuke.sk vytvorte adresár cvic4 a nakopírujte do neho skript globals.php, query.php a query_res.php z predchadzajúceho cvičenia. Otvorte skript globals.php a zadajte do neho svoje prihlasovacie údaje na server mysql.tuke.sk . Spustite skript query.php a napojte sa na svoju databázu!
    2. Zostavte SQL príkaz pre vytvorenie tabuľky film s nasledovnou štruktúrou: id_film INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name varchar(50) NOT NULL, name_orig varchar(50), year int NOT NULL, length int NOT NULL, id_genre int NOT NULL, content text, bonusy text. Tabuľlku naplnte 5 riadkami.
    3. Vytvorte tabuľlku cis_genre s nasledovnou štruktúrou: id_genre INT NOT NULL AUTO_INCREMENT PRIMARY KEY, genre varchar(50) NOT NULL. Do tabuľky vložte 5 riadkov
    4. Vytvorte tabuľku cis_lang so štruktúrou: id_lang INT NOT NULL AUTO_INCREMENT PRIMARY KEY, lang varchar(50) NOT NULL) Tabuľku naplnte 5 riadkami.
    5. Vytvorte tabuľku cis_serial s nasledovnou štruktúrou: id_ser INT NOT NULL AUTO_INCREMENT, serial varchar(50) NOT NULL, primary key(id_ser) Tabuľku naplnte
    6. Vytvorte tabuľku cis_act so štruktúrou: id_act INT NOT NULL AUTO_INCREMENT PRIMARY KEY, actor varchar(50) NOT NULL. Tabuľku naplnte
    7. Vytvorte tabuľku subnames so štruktúrou: id_film INT NOT NULL, id_nsn INT NOT NULL AUTO_INCREMENT, subname varchar(50) NOT NULL, sublength INT, primary key(id_film, id_nsn). Tabuľku naplnte
    8. Vytvorte tabuľku langs s nasledovnou štruktúrou id_film INT NOT NULL, id_nl INT NOT NULL AUTO_INCREMENT, id_lang INT NOT NULL, primary key (id_film, id_nl). Tabuľku naplnte
    9. Vytvorte tabuľku titles so štruktúrou: id_film INT NOT NULL, id_nt INT NOT NULL AUTO_INCREMENT, id_lang INT NOT NULL, primary key(id_film, id_nt). Tabuľku naplnte podľa
    10. Vytvorte tabuľku actors s nasledovnou štruktúrou: id_film INT NOT NULL, id_na INT NOT NULL AUTO_INCREMENT, id_act INT NOT NULL, primary key(id_film, id_na). Tabuľku naplnte
    11. Vytvorte tabuľku film_ser so štruktúrou: id_ser INT NOT NULL, id_film INT NOT NULL, primary key(id_ser, id_film). Tabuľku naplnte
    12. Vytvorte tabuľku langs2 s nasledovnou: id_film INT NOT NULL, id_nl INT NOT NULL AUTO_INCREMENT, id_lang INT NOT NULL, title INT NOT NULL, primary key(id_film, id_nl).
    13. Z tabuľky film zobrazte stlpce: id_film, name, id_genre, length ale len tie riadky kde v stĺpci id_genre je hodnota 1. Výber nech je usporiadaný vzostupe podľa stĺpca length.
    14. Z tabuľky film (tabuľka filmov) a tabuľky cis_genre (tabuľka žánrov) vyberte stĺpce id_film, name, genre, length a zobrazte len tie riadky kde id_genre=1 (tabuľka film) a kde sú rovnaké hodnoty v stĺpcoch id_genre v tabuľke film a cis_genre.
    15. Z tabuľky langs zobrazte len tie riadky kde v stĺpci id_film je hodnota 1.
    16. Z tabuľky langs a tabuľky cis_lang vyberte stĺpce id_film (tabuľka langs), id_nl (tabuľka langs), lang (tabuľka cis_lang) a zobrazte len tie riadky kde id_film=1 (tabuľka langs) a kde sú rovnake hodnoty v stĺpcoch id_lang v tabuľkách: langs a cis_lang.
    17. Vyberte stĺpec id_film z tabuľky film, stĺpec name z tabuľky film, stĺpec genre z tabuľky cis_genre, stĺpec length z tabuľky film a stĺpec lang z tabuľky cis_lang kde v tabuľke film je v stĺpci id_genre hodnota 1, rovnaké sú hodnoty v stĺpci id_genre v tabuľkách film a cis_genre, v stĺpci id_film v tabuľke film a langs, v stĺpci id_lang v tabuľkách langs a cis_lang a nakoniec kde v stĺpci id_film v tabuľke film je honota 1. V podstate sa jedná o výber názvu žánru a jazykov pre jeden film.
    18. Vyberte stĺpec id_film z tabuľky film, stĺpec name z tabuľky film, stĺpec genre z tabuľky cis_genre, stĺpec length z tabuľky film a stĺpec lang z tabuľky cis_lang kde v tabuľke film je v stĺpci id_genre hodnota 1, rovnaké sú hodnoty v stĺpci id_genre v tabuľkách film a cis_genre, v stĺpci id_film v tabuľke film a langs, a nakoniec kde sú rovnake hodnoty v stĺpci id_lang v tabuľkách langs a cis_lang. V podstate sa jedná o výber názvu žánru a jazykov pre všetky filmy.

    Poznámka:

    Upozornenie

    Za každú dopredu neospravedlnenú neúčasť na cvičení bude pridelené jedno náhradné zadanie v rozsahu 10 strán.



    Na začiatok
  5. cvičenie - Webová služba SelectService


    Prednáška: Webová služba SelectService


    Úlohy:

    1. Vo svojom priečinku omega.tuke.sk vytvorte adresár cvic5 a doňho umiestnite vetky súbory, ktoré vytvoríte na cvičení.
    2. Vytvorte tabuľku tmp so stĺpcami: id, st1, st2 a vyplňte do stĺpcov st1 a st2 hodnoty: a10,b1š0 ; a20, b2č0 ; a30 b3ľo.
    3. Zostavte súbor klient.php, ktorý načíta súbor connect.php a podľa prednášky v súbore klient.php zadajte paremetre volanej webovej služby tak, aby ste vytvorili zo stĺpca st2 vstupný prvok select a vstupný formulárový prvok radio.
    4. Zostavte súbor klient_film.php, ktorý načíta súbor connect.php a podľa prednášky v súbore klient_film.php zadajte parametre volanej webovej služby tak, aby ste zobrazili všetky číselníky pre hlavnú tabuľku filmy, stránku doplňte o začiatok a koniec formulára a tlačítko odošli.
    5. Podľa návodu z prednášky vytvorte šablonu aplikácie. Doplňte formátovanie pre formulár a výstupné tabuľky podľa kaskádový štýl 1 kaskádový štýl 2 kaskádový štýl 3, Do hlavičky dajte logo alebo obrázok, pre ľavé menu a hlavnú časť stránky zvote farbu pozadia alebo obrázok.


    Na začiatok
  6. cvičenie - Tvorba tabuliek v PHP


    Prednáška: Tvorba tabuliek v PHP


    Úlohy:

    1. Na serveri omega.tuke.sk vytvorte adresár cvic5 a nakopírujte do neho skript globals.php, query.php a query_res.php z predchadzajúceho cvičenia. Otvorte skript globals.php a zadajte do neho svoje prihlasovacie údaje na server mysql.tuke.sk . Spustite skript query.php a napojte sa na svoju databázu!
    2. Zostavte SQL príkaz pre výber názvu seriálu pre zvelený jeden film z tabuliek: film, cis_genre, langs, cis_lang, film_ser a cis_serial. Zobrazené budú stĺpce: serial (z tabuľky cis_serial), id_film (z tabuľky film), name (z tabuľky film), genre (z tabuľky cis_genre), length (z tabuľky film), lang (z tabuľky cis_lang) a len tie riadky kde id_genre = 1 (v tabuľke film), id_genre (tabuľka film) = id_genre (tabuľka cis_genre), id_lang (tab. langs) = id_lang (tab. cis_lang), id_film (tab. film) = id_film (tab. film_ser), id_ser (tab. film_ser) = id_ser (cis_serial) a kde v stĺpci id_film (tab. film) je číslo 1.
    3. Podobne ako v predchádzajúcej úlohe zostavte SQL príkaz pre výber názvu seriálu pre všetky filmy daného seriálu. Namiesto podmienky id_film = 1 a id_genre = 1 použite podmienku id_ser = 1 (tab. film_ser).
    4. Z tabuľky film vyberte len tie riadky kde v poli year je rok končiaci s čislom 72. Výsledok usporiadajte podľa poľa length vzostupne. Podobne zostavte príkaz pre výber len tých riadkov kde v poli year je rok začínajúci čílom 19 alebo v poli name_orig je reťazec ve alebo v poli content je reťazec va. Výsledok usporiadajte podľa roku zostupne.
    5. Do tabuľky film pridajte dva riadky. Následne zobrazte doplnenú tabuľku a vyberte stĺpce: id_film, name, year, length. V tabuľke film zmažte riadok kde id_film = 7. Zmeňte rok (pole year) a dĺžku (pole length) filmu s identifikačným číslom 6 (príkaz UPDATE).
    6. Pomocou prikazov SELECT a EXIST urobte výber všetkých filmov (tabuľka film a film_ser), ktoré sú seriály následne urobte výber len tých filmov, ktoré nie sú seriály (príkaz NOT EXIST), pričom výsledok je usporiadaný podľa poľa name.
    7. Pomocou príkazov SELECT a EXIST urobte výber filmov, ktoré sú seriály, pričom výsledok je doplnený názvom seriálu. Výber obsahuje stĺpce serial (cis_serial), id_film (film), name (film), year (film), length (film). Druhý SELECT, ktorý nasleduje za príkazom EXIST vyberá stĺpec id_ser z tabuľky film_ser, kde id_film (tab. film) = id_film (tab. film_ser) a id_ser (tab. film_ser) = id_ser (tab. cis_serial).
    8. Z tabuľky filmov (tab. film) a jazykov (tab. langs) vyberte stĺpce id_film (tab. filmy), name, name_orig, year, length, id_genre a len tie riadky kde id_film (tab. film) = id_film (tab. langs) a id_lang (tab. langs) = 3. V podstate sa jedná o výber všetkých filmov s anglickým jazykom.
    9. Pomocou príkazu AS vytvorte pre tabuľku film pole pocet a priem_dĺžka a pomocou príkazu COUNT a AVG vypočítajte priemernú dĺžku všetkých filmov, ktoré nie sú seriály. V stĺpci pocet je vypočítany počet týchto filmov. Pre výber filmov, ktoré nie sú seriály použite príkazy NOT EXIST a SELECT (stlpec id_ser z tab. film_ser).
    10. Pre filmy, ktoré sú seriály určte názov seriálu, počet jeho častí a ich celkovú dĺžku. Pre vyriešenie úlohy použite SQL príkaz AS pre vytvorenie a zobrazenie stĺpcov serial, pocet_casti, dlzka_celk. Prvý SELECT vyberá z tabuliek: film, film_ser, cis_serial len tie riadky kde film.id_film = film_ser.id_film a film_ser.id_ser = cis_serial.id_ser. Druhý SELECT za príkazom EXIST vyberá z tabuľky film_ser, riadky kde film.id_film = id_film.
    11. Pomocou podmieneného príkazu IF vyberte z tabuľky film väčšiu z hodnôt v stĺpcoch year a length a výsledok uložte do stĺpca vacsi.
    12. Pomocou podmieneného príkazu IF a príkazu AS vyplnte všetky prázdne políčka v stĺpci bonusy reťazcom "Nezadané" pričom z tabuľky film zobrazte stĺpce: id_film, name, year, length.

    Poznámka:


    Na začiatok
  7. cvičenie - Tvorba aplikácie v PHP


    Prednáška: Tvorba aplikácie v PHP


    Úlohy:

    1. Vo svojom adresári na omega.tuke.sk vytvorte adresár cvic6. V rámci ďalších úloh vytvoríte v tomto adresári skripty filmy_cr_tb.php, db.php, vypis.php, vypis1.php, vypis2.php, vypis3.php, vypis4.php a vypis5.php.
    2. Pomocou editora PsPad vytvorte v jazyku php skript s názvom filmy_cr_tb.php. V skripte naprogramujte kód pre napojenie na Vašu databázu, vytvorenie tabuliek (film, subnames, langs, titles, actors, serials, cis lang, cis_title, cis_genre, cis_serial, cis_act) podľa predchádzajúceho cvičenia. Ako pomocku použite prednášku č. 5 (Tvorba tabuliek v php).
    3. Vytvorte skripty db.php a db_const.php, ktoré definujú prístupové údaje do vašej databázy. Skripty vytvorte podobne ako globals.php (predch. cvičenia) Názvy premenných pre napojenie databázy sú: $host=názov servera, $user=vaše prihl. meno, $psw=vaše heslo, $db=názov vašej databázy, $lech = "\r\n". Skript ďalej vykoná napojenie na databázu a definuje tabuľku film (parameter $tb).
    4. Vytvorte skript s názvom vypis.php, ktorý do svojho kódu pripojí súbor db.php a následne zobrazí celý obsah tabuľky film.
    5. Skript vypis.php opravte tak aby sa výpis riadkov tabuľky film zobrazoval s kódovaním znakov podľa normy UTF-8. Opravený skript uložte ako vypis1.php.
    6. Vytvorte skript vypis2.php, ktorý zabezpečí výpis tabuľky film do skutočnej tabuľky, ktorá je rozdelená na riadky a stĺpce.Hrúbka čiary tabuľky = 1 (parameter border).
    7. Vytvorte skript vypis3.php, ktorý zabezpečí výpis len stĺpcov: id_film, name, year, content z tabuľky film.
    8. Vytvorte skript vypis4.php, ktorý zabezpečí výpis len stĺpcov: id_film, name, year, content z tabuľky film. Skript však naprogramujte tak aby bol použity odkaz podľa názvov stĺpca ($row[name]).
    9. Vytvorte skript vypis5.php, ktorý vypíše obsah tabuľky film, prvý riadok tabuľky (záhlavie tabuľky) bude mať zelený podklad a žlté písmo, centrovane do prava. Ďalšie riadky tabuľky (dáta) budú mať modrý podklad (modré pozadie). Na riešenie úlohy použite príkazy: bgcolor=#008000 a font color=#FFFF00 align=left.
    10. Skript filmy_cr_tb.php upravte tak, aby čast kódu, ktorá zabezpečuje napojenie na databázu bola uložená len v súbore db.php (podobne ako je to realizovane v skriptoch, ktoré zabezpečujú výpis tabuľky vypis.php). Skript filmy_cr_tb.php bude potom použivat len prikaz require.. Upravený skript filmy_cr_tb.php uložte pod názvom filmy_cr_tb1.php.
    11. Vytvorte skript vypis6.php, ktorý vypíše obsah všetkých vytvorených tabuliek. Úlohu realizujte vytvorením funkcie.

    Poznámka:



    Na začiatok
  8. cvičenie - Pomocné funkcie aplikácie


    Prednáška: Pomocné funkcie aplikácie


    Úlohy:

    1. Vo svojom adresári na omega.tuke.sk vytvorte adresár cvic7 a do neho uložte všetky súbory, ktoré vytvoríte na cvičení.
    2. Na internetovej adrese (http://interval.cz/clanky/dvousloupcovy-layout-s-pevnou-sirkou/) nájdete ukážku hotového kaskádového štýlu a xhtml kód pre jeho otestovanie. Štýl uložte do súboru my_style.css. Následne štýl upravte podľa vlastných potrieb a vkusu, pričom do pozadia umiestnite obrázok. Upravený štýl uložte ako my_style_new.css. Všetky súbory štýlov umiestnite do podpriečinka styly.
    3. Skopírujte skripty db.php a db_const.php z predchádzajúceho cvičenia do adresára cvic7.
    4. Vytvorte skript db2.php, ktorý rieši napojenie na databázu procedurálnym spôsobom.
    5. Vytvorte skript index.php, ktorý vytvorí začiatok (hlavičku) xhtml súboru. Pre výstup xhtml kódu použite php funkciu print(). Skript index.php bude používat skripty hlav.php, uvod.php a pata.php. Skript zobrazí úvodnú stránku s informačným textom. Ako pomôcku použite prednášku: Tvorba aplikácie v php.
    6. Vytvorte skript uvod.php, ktorý ukončí úvodnú časť a začne obsahovú časť xhtml kódu sktránky. V skripte je pomocou php funkcie print() vytvorená hlavička xhtml súboru, a nastavené kodovanie stránky (UTF8) a pripojenie na vytvorený a upravený kaskádový štýl. Skript uvod.php bude používať stkripty header.php a leftpanel.php.
    7. Vytvorte skript header.php, ktorý vytvára hlavičku stránky. Ako pomôcku použite prednášku: Tvorba aplikácie v php.
    8. Vytvorte skript leftpanel.php, ktorý vytvára navigačný panel resp. vertikálne menu webovej stránky s položkami Domov (po kliknutí sa spúšťa index.php), Prezeraj (po kliknutí sa spúšťa see_film.php), Zadanie (new_film.php), Oprava (update_film.php), Pomocnik (pomoc.php). Skript používa vlastnost levypanel a levypanel-obsah z upraveného kaskádového štýlu. Následny vytvorte prázdne skripty see_film.php, new_film.php, update_film.php, pomoc.php.
    9. Vytvorte skript pata.php, ktorý vytvorí pätu webovej stránky pomocou skriptu footer.php. Následne vytvorte skript footer.php, ktorý fyzicky vytvorí pätu stránky. Skript umiestni na pravá stranu päty copyright autora stránky a zobrazi ikonky xhtml a css validity. Na zobrazenie sa použije vlastnosť paticka s upraveného kaskádového štýlu.
    10. Vytvorte úvodný skript index.php, ktorý používa skripty: hlav.php, uvod.php a pata.php. Ako pomôcku použite prednášku: Tvorba aplikácie v php.


    Na začiatok
  9. cvičenie - Funkcionalita aplikácie - vstup


    Prednáška: Funkcionalita aplikácie - vstup


    Úlohy:

    1. Vo svojom adresári na "sigma.tuke.sk" vytvorte adresár cvic8 a do neho uložíte všetky súbory, ktoré vytvoríte na cvičení.
    2. Pomocou progranu WinSCP skopírujte do adresára cvic8 všetky súbory, ktoré ste vytvorili v rámci cvičenia 7 (adresár cvic7).
    3. V adresári cvic8 vytvorte prázdny súbor skriptu common.php. Na vytvorenie skriptu použite program PsPad.
    4. V skripte common.php vytvorte funkciu zoznamt($tb0, $mysqli, $name, $tb1, array $slist). Funkcia zabezpečí načítanie obsahu dvoch zadaných stĺpcov tabuľky (ide o všetky číselníky aplikácie a aj o hlavnú tabuľku), ich naplnenie do HTML príkazu <select> a jeho položiek <option> a jeho vygenerovanie na stránku. Ako pomôcku použite prednášku: Tvorba aplikácie v php.
    5. Do skriptu common.php doplnte funkciu lang($mysqli, $desti) pre účely výpisu na obrazovku. Funckia urobí priradenia názvu k jeho identifikátoru (pre prípad jazyka je to úloha určiť pre dané id_lang zodpovedajúce lang). Funkcia bude mať dva parametre - identifikátor konekcie na databázu ($mysqli) a identifikátor ($desti) hľadaného názvu. Ako pomôcku použite prednášku: Pomocné funkcie aplikácie.
    6. Podobne ako v úlohe e doplnte funkciu gen($mysqli, $desti) pre výber žánru, funkciu title($mysqli, $desti) pre výber titulku, funkciu actor($mysqli, $desti) pre výber herca a analogicky funkciu serial($mysqli, $desti) pre výber seriálu.
    7. Vytvorte jednu reprezentačnú funkciu nazov($mysqli, $desti, $co), ktorá bude plniť úlohy namiesto jednoúčelových funkcií v tvorených v úlohe e a f. Funkcia má identifikátor konekcie na databázu ($mysqli), identifikátor daného filmu ($desti). Parameter $co bude udávať názov stĺpca tabuľky a z neho bude odvodený aj názov tabuľky a názov prvého stĺpca.
    8. Vytvorte funkciu numb($mysqli, $id, $co) ktorá zabezpečí zistenie počtu výskytov daného parametra pre zadanú hodnotu identifikátora filmu ($id), to znamená napríklad určiť pre daný film počet jazykov, počet titulkov, hercov alebo podnázvov. Zistený počet výskytov je návratovou hodnotou funkcie. Počet výskytov je určený pomocou operátora count.
    9. Doplnte funkciu vrat($r, $kam), ktorá pri výskyte chyby vo vykonávaní aplikácie vráti riadenie aplikácie do určeného východzieho stavu. Funkcia má dva vstupné parametre – chybovú hlášku ($r), ktorá sa vypíše na obrazovku a názovskriptu ($kam), na ktorý bude prenesené riadenie aplikácie. Funkcia je zostavená v Javascripte.
    10. Vytvorte funkciu co($name, &$sb), ktorá zabezpečí prevod anglického názvu druhého stĺpca jednotlivých číselníkov na slovenský ekvivalent.Jeden vstupný parameter ($name) – anglický názov stĺpca a dva výstupné parametre – slovenský ekvivalent názvu ($cosk) a výstupný parameter ($sb), $sb=1 pre všetky názvy okrem „subname”, kedy $sb=0.
    11. Vytvorte funkciu ins($mysqli, $name, $countl, $lang, $id_film, $cas=array()), ktorá bude riešiť vkladanie nového záznamu do jednotlivých tabuliek. Parametrami funkcie sú identifikátor konekcie na databázu ($mysqli), anglicky názov stĺpca tabuľky ($name), pole (zoznam) vkladaných jazykov (titulkov, hercov, seriálov, podnázvov) ($lang) s jeho dimenziou ($countl), identifikátor filmu ($id_film) a (pre subname) pole vkladaných dĺžok podnázvov ($cas). Funkcia s názvom ins() bude používať vytvorenú funkciu co() z úlohy j.
    12. Vytvorte funkciu upd($mysqli, $name, $lang, $id_film, $cas=array()), ktorá bude zabezpečovať opravu znáznamu v tabuľke. Parametrami funkcie sú identifikátor konekcie na databázu ($mysqli), anglicky názov stĺpca tabuľky ($name), pole (zoznam) opravovaných jazykov (titulkov, hercov, seriálov, podnázvov) ($lang), identifikátor filmu ($id_film) a (v prípade subname) pole vkladaných dĺžok podnázvov ($cas).
    13. Vytvorte funkciu zrus($mysqli, $name, $id_film), ktorá bude zabezpečovať vymazanie resp. zrušenie záznamu v tabuľke. Funkcia má tri parametre. Prvým je identifikátor konekcie na databázu ($mysqli), druhým anglicky názov stĺpca tabuľky ($name) a tretímje identifikátor filmu ($id_film). Úlohu riešte podobne ako v prípade funkcie ins().

    Poznámka:



    Na začiatok
  10. cvičenie - Funkcionalita aplikácie - prezeranie


    Prednáška: Funkcionalita aplikácie - prezeranie


    Úlohy:

    1. Vo svojom adresári na "sigma.tuke.sk" vytvorte adresár cvic9 a do neho skopírujte všetky súbory, ktoré ste vytvorili na predchádzajúcom cvičení (cvicenie 8).
    2. Do skriptu common.php doplnte funkciu ciselnik(), ktorá bude slúžiť pre administráciu číselníkov. Funkcia bude zabezpečovať opravu resp. dopnenie čísleníka v tabuľke. Parametrami funkcie sú identifikátor konekcie na databázu ($mysqli), identifikátor novej položky číselníka ($newp), identifikátor opravovanej položky číselníka ($newpop), názov tabuľky číselníka ($tb) a identifikátor kľúča opravovanej položky číselníka ($val). Ako pomôcku použite prednášku: Pomocné funkcie aplikácie.
    3. Do skriptu common.php doplnte funkciu pis(), ktorá umožňuje vybrať všetky filmy (prípadne filmy seriálu) podľa zadanej podmienky. Funkcia bude mať štyri parametre. Prvým je identifikátor konekcie na databázu ($mysqli), druhým výberová podmienka príkazy select ($where), tretímje šírka okna obrazovky pre výpis ($wsize) a štvrtým názov tabuľky z ktorej sa výber uskutoční ($tb).
    4. Do skriptu common.php doplnte funkciu filmlang(), ktorá umožňuje vybrať všetky filmy podľa zadaného poľa atribútov filmu (jazyk, herci). Funkcia bude mať sedem parametrov. Prvým bude identifikátor konekcie na databázu ($mysqli), druhým pole atribútov filmu (jazyk, titulky, herci, podnázvy a ich trvanie, seriál) ($lan), tretím je počet položiek tohto poľa ($p), štvrtým je šírka okna obrazovky pre výpis ($wsize) a siedmym názov tabuľky, z ktorej sa výber uskutoční ($tb). Piaty parameter ($par1) špecifikuje, či ide o jazyky alebo o hercov. Šiesty parameter ($par2) je prenášaný do fukcie pis1() ako výberová podmienka pre tabuľku film.
    5. Do skriptu common.php doplnte funkciu pis1(), ktorá bude realizovať postupný výpis filmov na obrazovku. Funkcia bude mať 6 parametrov. Prvým je identifikátor konekcie na databázu ($mysqli), druhým je výsledné pole ($where) čísel filmov z funkcie filmlang(), tretím je výberová podmienka pre tabuľku film ($colname),
      štvrtým je šírka okna obrazovky pre výpis ($wsize), piatym názov tabuľky z ktorej sa výber uskutoční ($tb).
      Šiesty parameter ($par1) špecifikuje či ide o jazyky alebo o hercov. Funkcia pre všetky položky zadaného poľa vypíše položky tabuľky film a pripraví odkaz na všetky atribúty daného filmu.
    6. Do skriptu common.php doplnte funkciu upis(), ktorá bude okrem základných položiek filmu vypisovať aj všetky jeho atribúty určovať ich počty ako položky poľa $nb. Samotný výpis atribútov realizuje pomocná funkcia upis1(). Funkcia upis() má päť parametrov, štyri vstupné a jeden výstupný. Prvým je identifikátor konekcie na databázu ($mysqli), druhým je číslo filmu ($where) z funkcie filmlang() alebo pis(), tretím je šírka okna obrazovky pre výpis ($wsize), štvrtým je názov tabuľky, z ktorej sa výber uskutoční ($tb). Piaty parameter je výstupné pole počtov jednotlivých atribútov filmu v poradí počet jazykov, počet titulkov, počet hercov, počet podnázvov a počet seriálov. Návratovou hodnotou funkcie upis() je pole, ktoré vzniklo spojením položiek filmu a položiek všetkých atribútov v uvedenom poradí.
    7. Do skriptu common.php doplnte funkciu upis1(), ktorá bude vypisovať všetky položky daného atribútu pre zadaný film (jazyk, titulok, herec, podnázov, seriál). Funkcia bude mať tri parametre. Prvým je identifikátor konekcie na databázu ($mysqli), druhým je číslo filmu ($where) z funkcie upis(), tretím je základ názvu tabuľky z ktorej sa výber uskutoční ($co). Funkcia štandardne vypisuje poradové číslo a názov položky atribútu. V prípade podnázvov vypisuje okrem podnázvu aj jeho dĺžku, čiže trvanie. Návratovou hodnotou funkcie je pole položiek daného atribútu.
    8. Vytvorte skript see_lang.php, ktorý použiva skripty: hlav.php, uvod.php, common.php, db.php a pata.php. Skript see_lang.php bude slúžiť na prezeranie jazykov filmu. Skrip bude volať funkciu upis().
    9. Vytvorte skript new_film.php, ktorý na plochu okna zobrazí päť výberových zoznamov, zodpovedajúcich databázovým tabuľkám jednotlivých číselníkov. Na tento účel využíva pomocnú funkciu zoznamt(), ktorá je súčasťou súboru pomocných funkcií v common.php. Po odoslaní zadaných vstupných hodnôt nového filmu nasleduje ich vyhodnotenie, kontrola, výpis na obrazovku a zápis do príslušných tabuliek. Zápis do tabuľky film je realizovaný priamo v skripte new_film.php, zápis do ostatných tabuliek je realizovaný pomocou funkcie ins(). Ako pomôcku použite prednášku: Pomocné funkcie aplikácie: Funkcionalita aplikácie - vstup.
    10. Vytvorte skript new_element.php ktorý prostredníctvom funkcie ciselnik skontroluje pred zadaním nového filmu, či číselníky obsahujú všetky potrebné hodnoty. Ak nie, zvolením príslušného odkazu skript doplní príslušnú hodnotu. Skript new_element.php používa skripty: hlav.php, uvod.php, common.php, db.php, pata.php. Ako pomôcku použite prednášku: Pomocné funkcie aplikácie: Funkcionalita aplikácie - vstup.

      Semestrálne zadanie:

      Podobne ako je vytvorená webová aplikácia pre admisnistráciu evidencie DVD filmov vytvorte vlastnú aplikáciu. Vytvorte dátový model a tabuľky podobne ako má evidencia DVD filmov, ktorú ste urobili podľa prednášok a cvičení. Vami vytvorená aplikácia nesmie byť zameraná na DVD filmy ale použite vlastný motív (napr. evidencia CD alebo kníh a pod.). Hlavná tabuľka (napr. tab. filmy) musí obsahovať minimálne 10 záznamov (riadkov). Zadanie je potrebné odovzdať v elektronickej podobe ako fungujúcu web stránku vo vašom priečinku na omega.tuke.sk.

      Stránka je vytvorená s využitím kaskádových štýlov a musí byť validná. Na začiatok
  11. cvičenie - Funkcionalita aplikácie - oprava


    Prednáška: Funkcionalita aplikácie - oprava


    Úlohy:

    1. Vo svojom adresári na "sigma.tuke.sk" vytvorte adresár cvic10 a do neho skopírujte všetky súbory, ktoré ste vytvorili na predchádzajúcom cvičení (cvicenie 9).
    2. Vytvorte skript see_film.php, ktorý bude zobrazovať obrazovku na prezeranie filmov. Tento skript na plochu okna zobrazí päť výberových zoznamov, zodpovedajúcich databázovým tabuľkám filmov a jednotlivých číselníkov. Na tento účel bude používať pomocnú funkciu zoznamt(), ktorá je súčasťou súboru pomocných funkcií common.php. Rozmiestnenie vstupného formulára bude riadené s využitím dvoch tabuliek. Prvá bude mať má tri stĺpce a dva riadky. V prvom riadku budú tri názvy kritérií – tabuliek a číselníkov, druhý riadok bude obsahovať tri výberové zoznamy. Druhá tabuľka bude mať má dva stĺpce a dva riadky, obsahujúce názvy a výberové zoznamy ďalších dvoch výberových kritérií. Pod tabuľkami sú umiestnené dva jednoriadkové vstupné prvky (<input>), určené na zadanie hľadaného slova v darabáze.
    3. Do skriptu common.php doplnte pomocnú funkciu s názvom vybery(), ktorá bude určovať počet a prípustnosť zadaných výberov. Funkcia bude mať 10 vstupných parametrov. Prvým bude identifikátor hľadaného filmu, druhým bude identifikátor hľadaného žánra, tretím a štvrtým bude počet položiek poľa ($langp), na piatej pozícii bude identifikátor hľadaného seriálu a pozícia šesť a sedem udáva počet položiek poľa ($actorp), ôsmy parameter ($find) udáva hľadaný reťazec v položkách content a bonusy tabuľky film, deviaty parameter ($find1) udáva hľadaný reťazec v názve filmu v tabuľke film. Desiatym parametrom je šírka okna obrazovky pre výpis ($wsize).
    4. Do skriptu common.php doplnte pomocnú funkciu pis(), ktorá bude umožňovať vybrať všetky filmy (prípadne filmy seriálu) podľa zadanej podmienky. Má štyri parametre. Prvým je identifikátor konekcie na databázu ($mysqli), druhým výberová podmienka príkazy select ($where), tretímje šírka okna obrazovky pre výpis ($wsize) a štvrtým názov tabuľky z ktorej sa výber uskutoční ($tb). Ak výsledná množina je neprázdna, je vypísaná do okna (v prípade tabuľky film). Pre tabuľku serials sa uskutoční výber všetkých filmov patriacich do daného seriálu. Ako pomôcku použite prednášku: Funkcionalita aplikácie - prezeranie.
    5. Do skriptu common.php doplnte pomocnú funkciu filmlang(), ktorá bude umožňovať vybrať všetky filmy podľa zadaného poľa atribútov filmu (jazyk, herci). Funkcia bude mať sedem parametrov. Prvým je identifikátor konekcie na databázu ($mysqli), druhým pole atribútov filmu (jazyk, titulky, herci, podnázvy a ich trvanie, seriál) ($lan), tretím bude počet položiek tohto poľa ($p), štvrtým je šírka okna obrazovky pre výpis ($wsize) a siedmym názov tabuľky z ktorej sa výber uskutoční ($tb). Piaty parameter ($par1) špecifikuje, či ide o jazyky alebo o hercov.Šiesty parameter ($par2) je prenášaný do fukcie pis1() ako výberová podmienka pre tabuľku film. Ako pomôcku použite prednášku: Funkcionalita aplikácie - prezeranie.
    6. Do skriptu common.php doplnte funkciu s názvom pis1(), ktorá pre všetky položky zadaného poľa vypíše položky tabuľky film a pripraví odkaz na všetky atribúty daného filmu. Funkcia pis1() bude mať 6 parametrov. Prvým bude identifikátor konekcie na databázu ($mysqli), druhým bude výsledné pole ($where) čísel filmov z funkcie filmlang(), tretím bude výberová podmienka pre tabuľku film ($colname), štvrtým bude šírka okna obrazovky pre výpis ($wsize), piatym názov tabuľky z ktorej sa výber uskutoční ($tb). Šiesty parameter ($par1) špecifikuje či ide o jazyky alebo o hercov.
    7. Vytvorte skript s názvom update_film.php, ktorý zobrazí obrazovku pre opravu filmov. Tento skript na plochu okna v prvom kroku zobrazí výberový zoznam s názvami všetkých filmov pomocou funkcie zoznamt() a v druhom kroku pomocou funkcie upis() v tabuľkovej forme zobrazia všetky hodnoty zvoleného filmu. Následne sa zobrazí päť výberových zoznamov, zodpovedajúcich databázovým tabuľkám jednotlivých číselníkov. Na tento účel bude skript používať pomocnú funkciu zoznamt(), ktorá je súčasťou súboru pomocných funkcií common.php.Ako pomôcku použite prednášku: Funkcionalita aplikácie - oprava.
    8. Do skriptu common.php doplnte funkciu upis(), ktorá bude umožňovať okrem základných položiek filmu vypísať aj všetky jeho atribúty a určiť ich počty ako položky poľa $nb. Samotný výpis atribútov realizuje pomocná funkcia upis1(). Funkcia upis() má päť parametrov, štyri vstupné a jeden výstupný. Prvým je identifikátor konekcie na databázu ($mysqli), druhým je číslo filmu ($where) z funkcie filmlang() alebo pis(), tretím je šírka okna obrazovky pre výpis ($wsize), štvrtým je názov tabuľky z ktorej sa výber uskutoční ($tb). Piaty parameter je výstupné pole počtov jednotlivých atribútov filmu v poradí počet jazykov, počet titulkov, počet hercov, počet podnázvov a počet seriálov. Návratovou hodnotou funkcie upis() je pole, ktoré vzniklo spojením položiek filmu a položiek všetkýcha tribútov v uvedenom poradí.
    9. Do skriptu common.php doplnte funkciu upis1(), ktorá vypisuje všetky položky daného atribútu pre zadaný film (jazyk, titulok, herec, podnázov, seriál). Má tri parametre. Prvým je identifikátor konekcie na databázu ($mysqli), druhým je číslo filmu ($where) z funkcie upis(), tretím je základ názvu tabuľky z ktorej sa výber uskutoční ($co). Funkcia bude štandardne vypisovať poradové číslo a názov položky atribútu. Návratovou hodnotou funkcie je pole položiek daného atribútu.
    10. Vytvorte skript upd_film.php, ktorý je volaný po odoslaní opravených hodnôt daného filmu. Skript zabezpečí pomocou funkcie upd() vykonanie príslušných zmien v databázových tabuľkách. Ako pomôcku použite prednášku: Funkcionalita aplikácie - oprava.
    11. Do skriptu common.php doplnte funkciu zrus(), ktorá bude vykonávať rušenie daného záznamu filmu. Funkcia bude založená na rovnakom princípe ako funkcia insert (ins()). Funkcia má tri parametre. Prvým je identifikátor konekcie na databázu ($mysqli), druhým anglicky názov stĺpca tabuľky ($name) a tretímje identifikátor filmu ($id_film). Funkcia zrus() najprv testuje početnosť položiek, ktoré majú byť zrušené. Ak je ich počet kladný, vykoná nad tabuľkou operáciu Delete, inak vypíše hlášku, že položka je prázdna. Ako pomôcku použite prednášku: Funkcionalita aplikácie - oprava.

     

    Poznámka:

    Prvé tri úlohy rozdeľte do troch skupín študentov tak, že každá trojica študentov vyrieši jednu z týchto úloh. Podobne v poslednej úlohe rozdeľte zoznamy za jednotlivé školské roky do 4 skupín študentov.

    Na začiatok
  12. cvičenie - Funkcionalita aplikácie - sumár


    Prednáška: Funkcionalita aplikácie - sumár


    Úlohy:

    1. Vo svojom adresári na "sigma.tuke.sk" vytvorte adresár cvic11 a do neho skopírujte všetky súbory, ktoré ste vytvorili na predchádzajúcom cvičení (cvicenie 10).
    2. Zostavte skript sum_film.php ktorý zobrází obrazovku rôznych štatistík v aplikácii evidencie filmov. Skript zobrazí na jednej obrazovke počty filmov s rôznymi vlastnosťami - atribútami, ako napr. žáner, jazyk, titulky, herci či seriál. Zobrazovanie jednotlivých atribútov a odpovedajúcich počtov bude riešené vo forme tabuliek. Príslušné tabuľky budú vytvárané na základe príkazov jazyka SQL. V skripte sú definované jednotlivé selecty (úlohy e, f, g,h, i, j) a následne sú prezentované na obrazovku vo forme volania funkcie st() (viď uloha c). Ako pomôcku použite prednášku: Funkcionalita aplikácie - sumár.
    3. V skripte common.php vytvorte pomocnú funkciu st(), ktorá bude realizovať na obrazovke štatistík (sumárov) výpis jednotlivých SQL príkazov. Funkcia bude mať dva vstupné parametre. Prvým bude identifikátor konekcie na databázu ($mysqli), druhým reťazec ($sql) obsahujúci select, obsah ktorého bude znázornený vo forme tabuľky na obrazovku. V prípade, že zadaný príkaz SELECT je chybný, funkcia ukončí svoju činnosť s chybovou hláškou. Funkcia automaticky určí počet stĺpcov ($field_cnt), automaticky vypíše názvy stĺpcov (fetch_field->name) v hlavičke tabuľky a následne vypíše výsledky výberu vo forme ďalších riadkov tabuľky. Pritom zabezpečí výpis párnych a nepárnych riadkov rôznou farbou pozadia pomocou vhodného kaskádového štýlu. Vzhľad hlavičky tabuľky bude tiež riešený pomocou štýlu. Ako pomôcku použite prednášku: Funkcionalita aplikácie - sumár.
    4. Skript sum_film.php doplnte o SQL príkaz, ktorý zabezpečí určenie celkového počtu filmov podľa jednotlivých žánrov, usporiadané podľa počtu výskytov a názvu žánra, pričom budú vytvorené nové (slovenské) názvy stĺpcov. Ako pomôcku použite prednášku: Funkcionalita aplikácie - sumár.
    5. Skript sum_film.php doplnte o SQL príkaz, ktorý zabezpečí určenie celkového počtu filmov s daným jazykom. Výsledný zoznam bude usporiadaný zostupne podľa poľa Počet.
    6. Skript sum_film.php doplnte o SQL príkaz, ktorý zabezpečí určenie celkového počtu filmov s titulkami v danom jazyku Výsledný zoznam bude usporiadaný zostupne podľa poľa Počet.
    7. Skript sum_film.php doplnte o SQL príkaz, ktorý zabezpečí určenie celkového počtu filmov s danými hercami.Výsledný zoznam bude usporiadaný zostupne podľa poľa Počet.
    8. Skript sum_film.php doplnte o SQL príkaz, ktorý zabezpečí určenie celkového počtu filmov v jednotlivých jazykoch. Výsledný zoznam bude usporiadaný zostupne podľa poľa Počet.
    9. Skript sum_film.php doplnte o SQL príkaz, ktorý zabezpečí určenie filmov s celkovým počtom častí (podnázvov) a ich priemerným časom. Výsledný zoznam bude usporiadaný zostupne podľa poľa Počet_častí.
    10. Skript sum_film.php doplnte o SQL príkaz, ktorý zabezpečí vypísaniue celkového počtu DVD filmov. Ako pomôcku použite prednášku: Funkcionalita aplikácie - sumár.


    Na začiatok
  13. cvičenie - Mobilné služby


    Prednáška: Mobilné služby


    Úlohy:

    1. prezentácie semestrových projektov
    2. kontrola príkladov, konzultácie


    Na začiatok
  14. cvičenie


    Úlohy:

    1. Zápočty, kontrola príkladov, konzultácie
    2. Organizácia záverečnej kontroly






    Na začiatok
  15. Literatúra


    1. CASTAGNETTO J. et all: PHP Programujeme profesionálně. Computer press Praha 2002, ISBN 80-7226-310-2, str. 656






    Na začiatok

Valid HTML 4.01 Transitional