1 | Stáhněte si přes FTP z fileserveru pomocí účtu anonym soubor php01.zip a extrahujte jej tak, aby rozbalený soubor byl ve složce c:\temp\php01 | FileZilla |
2 | Editujte v PSPadu soubor c:\temp\php01\adresar_mysql.sql a prověřte existenci příkazů pro vytvoření tabulky a vložení řádků | PSPad |
3 | Spusťte z řídícího panelu XAMPP servery Apache a MySQL | XAMPP |
4 | Spusťte phpMyAdmin tlačítkem Admin a všimněte si IP adresy v prohlížeči | XAMPP |
5 | Vytvořte v phpMyAdmin novou databázi jprijmeni_php01 s porovnáváním utf8_czech_ci, kde jprijmeni nahraďte svým prvním písmenem ze jména a příjmením bez diakritiky | phpMyAdmin |
6 | Nastavte novou databázi jako aktuální a importujte soubor c:\temp\php01\adresar_mysql.sql do nově vytvořené databáze pomocí záložky Import a proveďte kontrolu načtení dat | phpMyAdmin |
7 | Vložte do tabulky adresar 3 nové řádky s vymyšlenými jmény a telefony | phpMyAdmin |
Nastavení:
8 | Ověřte v PSPadu nastavení web serveru a kompilátoru PHP podle parametrů uvedených výše | PSPad |
Úvod do PHP
9 | Nastavte v PSPadu kódování UTF-8 (Formát - Kódování) a otevřte nový HTML5 dokument (Soubor-Nový-Podle šablony-HTML5) | |
10 | Mezi značky <title></title> napište "Jméno Příjmení - Adresář" | |
11 | Za <body> napište nadpis (do značek h1) "Příklad výpisu MySQL tabulky" | |
12 | Dokument uložte jako c:\Programy\xampp\htdocs\vyuka\jprijmeni_adresar.php a ověřte jeho vzhled v interním prohlížeči (Ctrl+Shift+F10) i v externím prohlížeči (localhost/vyuka/jprijmeni_adresar.php) |
13 | Ve stejném dokumentu za nadpis napište PHP kód: <?php echo "<p>Tento text je vypsán pomocí PHP funkce echo.</p>"; ?> - zkontrolujte syntaxi (Ctrl+F9) a uložte dokument |
|
14 | Aktualizujte zobrazení v prohlížeči (F5) a zobrazte si zdrojový kód (Ctrl+u) - zdůvodněte si, proč nejsou ve zdroji značky <?php a ?> |
15 | Přidejte komentář a funkci date(), aby se čas zobrazoval jako
Hodiny:minuty:sekundy - viz
manuál: <p><?php /*výpis času*/ echo "Aktuální čas generování stránky: ".date("x"); ?></p> - uložte dokument a aktualizujte několikrát prohlížeč (F5) - sledujte změnu času |
16 | Přidejte kód pro demonstraci funkce htmlspecialchars: <?php $vstup="<b>Text</b>"; $vystup=htmlspecialchars($vstup); echo "<p>Vstup: ".$vstup."</p><p>Výstup: ".$vystup."</p>"; ?> - uložte dokument a aktualizujte prohlížeč |
PHP funkce z knihovny mysqli pro napojení MySQL:
Dále jsou použity:
17 | Přidejte kód pro připojení k MySQL, k
databázi jprijmeni_php01 <?php $pripojeni = mysqli_connect("localhost", "", "", "jprijmeni_php01"); //kontrola chyby if (mysqli_connect_errno()) { echo "Spojení selhalo: ".htmlspecialchars(mysqli_connect_error(), ENT_QUOTES); exit(); } //odpojeni mysqli_close($pripojeni); ?> |
|
18 | Ověřte syntaxi (Ctrl+F9), uložte dokument a otestujte hlášení chyby - nebyl zadán uživatel - doplňte do mysqli_connect uživatele root a ověřte připojení | |
19 | Přidejte za if hlášení o úspěšném připojení k databázi:
<p>Databáze připojena</p> |
Dotaz select a zpracování výsledku - použité funkce:
20 | Přidejte před mysqli_close
kód pro
dotaz do tabulky adresar: $dotaz = 'SELECTT * FROM adresar'; $vysledek = mysqli_query($pripojeni, $dotaz); if (mysqli_errno($pripojeni)) { echo "Dotaz selhal: ".htmlspecialchars(mysqli_error($pripojeni), ENT_QUOTES); exit(); } mysqli_free_result($vysledek); |
|
21 | Ověřte syntaxi (Ctrl+F9), opravte chybu v dotazu, uložte dokument a otestujte v prohlížeči funkčnost dotazu | |
22 | Zapomněli jsme vypsat výsledky dotazu - před mysqli_free_result
vložte kód pro výpis počtu řádků výsledku dotazu (a ověřte funkčnost): $pocet_radku = mysqli_num_rows($vysledek); echo '<p>Počet řádků: ' . $pocet_radku . '</p>'; |
|
23 | Podobně přidejte počet sloupců výsledků dotazu (a ověřte funkčnost): $pocet_sloupcu = mysqli_num_fields($vysledek); echo '<p>Počet sloupců: ' . $pocet_sloupcu . '</p>'; |
|
24 | Přidejte v phpMyAdmin do tabulky adresar nový řádek a ověřte změnu počtu řádků aktualizací jprijmeni_adresar.php v prohlížeči |
Výpis řádků - použité funkce:
25 | Přidejte před mysqli_free_result
kód pro výpis řádků se jmény: while ($radek = mysqli_fetch_array($vysledek)) { echo '<p>'.htmlspecialchars($radek["jmeno"]).'</p>'; } |
|
26 | Ověřte syntaxi (Ctrl+F9), uložte dokument a otestujte v prohlížeči funkčnost dotazu | |
27 | Změňte předchozí kód tak, aby byl ve výpisu za jménem uveden v závorkách i telefon - otestujte funkčnost | |
28 | Změňte dotaz tak, aby byl výpis seřazen abecedně podle jmen - otestujte |
Naformátování do sloupců tabulky:
29 | Upravte předchozí kód přidáním značek tabulky
podle vzoru: echo '<table>'; while (...) { echo '<tr><td>'...'</td><td> '...'</td></tr>'; } echo '</table>'; |
|
30 | Ověřte syntaxi (Ctrl+F9), uložte dokument a otestujte v prohlížeči funkčnost dotazu |
Přidání záhlaví a rámečku tabulky:
31 | Tabulku orámujte rámečkem s jednoduchou čarou | |
32 | Přidejte do tabulky řádek záhlaví s názvy sloupců - otestujte v prohlížeči |
Přidání nového sloupce:
33 | Nadefinujte v phpMyAdmin ve struktuře tabulky adresar nový sloupec mesto (typ volte) a vložte názvy měst alespoň do 3 řádků adresáře | |
34 | Upravte v PSPadu jprijmeni_adresar.php tak, aby se ve výpisu objevoval i nově přidaný sloupec město (v posledním sloupci tabulky) - soubor uložte a otestujte v prohlížeči |
Ukončení práce:
35 | Poslední výpis adresáře v prohlížeči uložte jako c:\temp\php01\adresar.htm | |
36 | Celou složku c:\temp\php01 (se soubory jprijmeni_adresar.php + adresar.htm) uložte na fileserver do nově očíslované složky |