Kód DUM : VY_32_INOVACE_DYN.1.19 Název materiálu: 19 PHP- Základy práce s databází PHP 2. část MySQL (Aplikace knihovna) Anotace Autor Jazyk Očekávaný výstup DUM je žákům průvodcem vytvoření databáze knih a provedení jednoduchého výpisu tabulky Ing. Vladimír KEBERT, CSc (Autor) Čeština RVP 18-20-M/01 Informační technologie, předmět: Publikování na Internetu, 2. ročník RVP 63-41-M/01 Ekonomika a podnikání, předmět: Publikování na Internetu, 2. ročník Speciální vzdělávací potřeby Žádné Klíčová slova Druh učebního materiálu Druh interaktivity Cílová skupina Stupeň a typ vzdělávání Typická věková skupina Celková velikost LAMP WAMP PHP server Apache Localhost Databáze MySQL dotaz SQL Prezentace s prvky interaktivity Kombinované Žáci 2. ročníku Odborné vzdělávání / Informační a komunikační technologie 16-19 let Velikost materiálu v kb : 630 (příloha: kód PHP) rozčlenění tématického celku: Dynamický web
1. Vytvoření jednoduché databázové aplikace Knihovna Materiál Vás provede vytvořením skriptu, který zapisuje data do datové tabulky. Další skript celou tabulku vypíše. Znění úlohy: Vytvořte jednoduchou aplikaci, která: - Převezme od uživatele data seznam knih (automatické číslo, autor, titul, nakladatelství, číslo ISBN a rok vydání) - Vytvoří datovou tabulku, zapíše do ní knihu - Vypíše všechny knihy, které jsou evidovány v datové tabulce (Aplikaci budeme později doplňovat složitějšími mechanismy)
2. Konstrukce úlohy : Úloha bude mít tři součásti: 1. Stránka s formulářem 2. Skript, který provede zápis zadaných dat o knize do databáze provede databázový dotaz (je volán potvrzením zadaných dat) 3. Skript, který provede databázový dotaz výpis položek z databáze
3. Součást (1) Formulář - na je třeba upozornit na pole Id (input type hidden ). Id není třeba přímo zadávat, v databázi se vytvoří jako automatické číslo pořadí záznamu. - action= vlozeni_dat.php volá externí skript k provedení dotazu - ostatní položky jsou jasné z kódu: Obr.1: Formulář pro vložení knihy
4. Externí skript (vlozeni_dat.php) připojení databáze (1. část skriptu) - část skriptu provede připojení databáze podle nadefinovaných přístupových údajů (přístupové údaje řádky 2-5) - Řádky 5-10 určují název tabulky a jména polí tabulky - Řádek 13: definice spojení se uloží do proměnné - Řádek 14: pokud nedojde ke spojení konec a chybové hlášení - Řádek 15: nastavuje kódování češtiny nastavit dle nastavení serverů
5. Externí skript (vlozeni_dat.php) dotaz tabulka (2. část skriptu) - Řádek 17 a 18 pokud tabulka není, vytvoří se s těmito parametry (!! POZOR NA SYNTAXI NÁZVY DATABÁZÍ, POLÍ A TABULEK SE PÍŠÍ DO APOSTROFŮ: např. `$nazev `) - Uložení SQL dotazu do proměnné zjednodušuje práci a zlepší přehlednost - Řádek 19: Provede fyzicky dotaz založení tabulky pokud neexistuje - Řádek 20: Jestliže došlo k chybě vypíše se hlášení - Řádek 21: V případě úspěchu se oznámí vložení tabulky
6. Externí skript (vlozeni_dat.php) dotaz vložení dat (3. část skriptu) - Řádek 23-27 převezme data z formuláře knihy.php do proměnných: - Řádek 31 a 32: Do proměnné si připraví dotaz vlož do tabulky `tb` (v pořadí `sloupec1`, `sloupec2`...) hodnoty proměnných (0, 'Titul', 'Autor', 'Nakladatel'...) SYNTAXE HODNOTY SE PÍŠÍ DO UVOZOVEK!! - Řádek 33: Fyzicky provede spojení a db dotaz vložení dat do tabulky - Řádek 34-35: V případě neúspěchu se oznámí chyba, jinak úspěch - Řádek 36: zavře se mysql spojení, práce s db končí
7. Externí skript (vlozeni_dat.php) prohlédnutí vzniklých záznamů pomocí phpmyadmina:
9. Databáze dotaz výpis hodnot z databázové tabulky (spojení a dotaz): - opět se naváže spojení s databází - provede se dotaz a uloží do proměnné - sledujte syntaxi dotazů! - provede se fyzický dotaz a uloží do proměnné $vysledek - pro kontrolu se vypíše počet vět (řádků) databázové tabulky
10. Databáze dotaz získání pole hodnot z výsledku dotazu : - Výsledek dotazu $vysledek je pole tvořené řádky. - Pole lze vypsat pomocí mysql_fetch_array($vysledek_dotazu) - Dokud nevypíši všechny prvky pole (řádky), vypisuji prvky pole podle příkazů:
11. Databáze dotaz výpis hodnot z databázové tabulky možný vzhled: - možný vzhled výpisu tabulky není nastaven žádný filtr, vypisují se tedy všechna data obsažená v databázové tabulce: Obr.2: Informace o spojení a výpis prvních čtyř vět knih z db tabulky
12. Úkoly k přiloženému skriptu - samostatně zprovozněte a analyzujte kód připojeného příkladu - pomocí phpmyadmin nahlédněte, jak je vytvořena databázová tabulka - proveďte doplnění databázové tabulky o další pole, případně poslední pole rozdělte na dva samostatné záznamy a aktualizujte kód v příkladu Poznámka: Přístupové údaje do databáze je nutné v příloze upravit podle Vašeho nastavení (server, user, passwd)
Přehled použité literatury a děl: Pokud není uvedeno jinak, autorem použitých textů a mediálních příloh (obrázků, textů, interaktivních materiálů, screenshotů) je autor tohoto digitálního učebního materiálu. Příklady a skripty v příloze DUM jsou dílem autora tohoto materiálu:. Použité zdroje: 1. Kolektiv(Adaptic, s.r.o).: PHP-formuláře. In: [online]. Tvorba-webu.cz, Copyright (c) 2003-2008 [cit. 2013-03-05]. Dostupné z: http://www.tvorba-webu.cz/php/formulare.php 2. KOSEK,J.: PHP - tvorba interaktivních internetových aplikací. Grada Publishing 1999, 492 stran, ISBN 80-7169-373-1 3. PHP 11. WEBTVORBA. Webtvorba: webtvorba.howto.cz [online]. Tobiáš Potoček, 2008-2009, 2009-10-02 [cit. 2013-03-29]. Dostupné z: http://webtvorba.howto.cz/php-11-pokrocilaprace-s-formulari