Kód DUM : VY_32_INOVACE_DYN.1.18 Název materiálu: Anotace Autor Jazyk Očekávaný výstup 18 PHP- Základy práce s databází PHP - MySQL DUM naučí žáky postupu při vytvoření, připojení databáze a vytvoření nové datové 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 LAMP WAMP PHP server Apache Localhost Host Databáze MySQL PHP.ini Httpd.conf Druh učebního materiálu Druh interaktivity Cílová skupina Stupeň a typ vzdělávání Typická věková skupina Celková velikost 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 : 200 (příloha: kód PHP) rozčlenění tématického celku: Dynamický web
1. Spolupráce PH s databází V rozsáhlejších úlohách je ukládání dat do souborů těžkopádným řešením. Databáze umožní ukládat rozsáhlé celky dat a hlavně umožňuje data mezi sebou kombinovat, třídit a vytvářet nejrůznější sestavy, celky, výpočty a výstupy. - V kombinaci s PHP se s výhodou používá MariaDB, resp. MySQL ale i jiné databázové Enginy - Výhoda MySQL k nekomerčnímu použití je zdarma (již není OpenSource), Maria DB je OpenSource fork (vedlejší větev vývoje) MySQL - S odkazem na DUM Dyn_02 je třeba mít nastavený a zprovozněný databázový server - Velmi vhodné je používat phpmyadmin webové rozhraní k ovládání databázového serveru
1. Spolupráce PHP s databází V rozsáhlejších úlohách je ukládání dat do souborů těžkopádným řešením. Databáze umožní ukládat rozsáhlé celky dat a hlavně umožňuje data mezi sebou kombinovat, třídit a vytvářet nejrůznější sestavy, celky, výpočty a výstupy. - V kombinaci s PHP se s výhodou používá MariaDB, resp. MySQL ale i jiné databázové Enginy - Výhoda MySQL k nekomerčnímu použití je zdarma (již není OpenSource), Maria DB je OpenSource fork (vedlejší větev vývoje) MySQL - S odkazem na DUM Dyn_02 je třeba mít nastavený a zprovozněný databázový server - Velmi vhodné je používat phpmyadmin webové rozhraní k ovládání databázového serveru
2. Rozbor spolupráce PHP a MySQL : 3. Webserver posílá na prohlížeč čistý kód HTML L(W)AMP HTTPD MySQL PHP 2. Webserver prostřednictvím modulu PHP se dotáže databázového serveru a zpět přijme odpověď 1. Klient pošle www serveru požadavek KLIENT (www.prohlížeč Fyzické soubory DB klávesnice
3. Databáze a její připojení - pro připojení k databázovému serveru jsou potřeba přístupová práva (user, password) a jde o to, zda se připojuje na lokální server ( localhost ) nebo na vzdálený server (IP adresa:3306 nebo jméno) - databáze má (ale nutně nemusí mít) také přístupová práva (user s právem nakládat s databází) - databáze obsahuje tabulky - tabulky obsahují pole - pole obsahují data Obr.1: Na lokálním serveru je databáze test a obsahuje 3 tabulky
Připojení k existující databázi: - databáze (nikoli tabulka) se zpravidla zadává ručně a přidělí se uživateli nebo množině uživatelů: - je potřeba se připojit k serveru (přihlásit se) a potom vybrat databázi - pro připojení je třeba následující kód: - předposlední řádek pokud spojení selže, aktivuje se chybové hlášení, pokud spojení úspěšné, nevypisuje se nic - poslední řádek po spojení se serverem se vybere databáze, se kterou bude uživatel pracovat
Připojení k existující databázi: - databáze (nikoli tabulka) se zpravidla zadává ručně a přidělí se uživateli nebo množině uživatelů: - je potřeba se připojit k serveru (přihlásit se) a potom vybrat databázi - pro připojení je třeba následující kód: - předposlední řádek pokud spojení selže, aktivuje se chybové hlášení, pokud spojení úspěšné, nevypisuje se nic - poslední řádek po spojení se serverem se vybere databáze, se kterou bude uživatel pracovat
4. Vytvoření databázové tabulky pomocí PHP - předpokládáme, že spojení je funkční (přístup uložen do $spojeni) a že je vybrána databáze: $db='pokus'; - doporučení: dotaz je vždy dobré si předepsat do proměnné, aby příkaz mysql_query byl přehledný - vytvoření nové tabulky se řeší dotazem (QUERY) a frází jazyka SQL : CREATE TABLE a můžeme přidat frázi IF NOT EXISTS jestliže tabulka neexistuje, vytvoří se nově. Hodnoty se uvozují do apostrofů ` $proměnná` - ošetření chyby - pokud není dotaz uskutečněn, aktivuje se chybové hlášení, Jinak hlášení o úspěšném provedení dotazu:
Úkoly k přiloženému skriptu - analyzujte kód připojeného příkladu s názvem databáze01 - pomocí phpmyadmin vytvořte novou databázi s názvem pokus - nastavte k této databázi přístupová práva - podle kódu v příloze vytvořte databázové spojení - vytvořte novou databázovou tabulku s názvem zvirata, která bude obsahovat čtyři sloupce Id (číslo INT), rod (text VARCHAR(20), druh (text VARCHAR(20), kusy (číslo INT)
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