Úvod do PHP s přihlédnutím k MySQL



Podobné dokumenty
Minebot manuál (v 1.2)

Redakční systém. SimpleAdmin Beta. Jan Shimi Šimonek

Maturitní otázka webové stránky (technologie tvorby webu) Co znamená pojem Web? Web, www stránky, celým názvem World Wide Web,

Zobrazování dat pomocí tabulek

Formuláře. Internetové publikování

Informační systémy 2008/2009. Radim Farana. Obsah. Aktivní serverové stránky ASP. Active Server Pages. Activex Data Objects. LDAP database.

4. POČÍTAČOVÉ CVIČENÍ

Střední odborná škola a Střední odborné učiliště, Hořovice


10. Editor databází dotazy a relace

KAPITOLA 1 SOCIÁLNÍ SÍTĚ A PHP...17

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

Instalace a konfigurace OpenAdmin tool na M$ a Linuxu

Individuální projekt z předmětu webových stránek Anketa Jan Livora

SUM U3 SUM U4 SUM U5 SUM

Návod na vkládání videogalerií na stránky klubu SIG-N.A.L. Třebíč

KAPITOLA 3. Architektura aplikací na frameworku Rails. V této kapitole: modely, pohledy, řadiče.

Hromadné úpravy digitálních fotografií, metadata a úložiště

NÁVRH A REALIZACE WWW PREZENTACE ČKR

Návrh a tvorba WWW stránek 1/38 PHP

Tvorba geometrického modelu a modelové sítě.

Střední odborná škola a Střední odborné učiliště, Hořovice

Střední odborná škola a Střední odborné učiliště, Hořovice

Uživatelský manuál Radekce-Online.cz

Dokumentaci k semestrální úloze z předmětu Internet a WWW (X36WWW)

Využití OOP v praxi -- Knihovna PHP -- Interval.cz

Robot bude XML stahovat každý den v brzkých ranních hodinách. Při nedostupnosti souboru nebo dlouhém načítání souboru nebude aktualizace provedena.

Střední odborná škola a Střední odborné učiliště, Hořovice

2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

Šablonovací systém htmltmpl vypracoval: Michal Vajbar, Šablonovací systém htmltmpl

Příprava prostředí pro výuku PHP a MySQL

Mobilní aplikace Novell Filr Stručný úvod

Kolekce ArrayList. Deklarace proměnných. Import. Vytvoření prázdné kolekce. napsal Pajclín

Implementace LMS MOODLE. na Windows 2003 Server a IIS 6.0

Střední odborná škola a Střední odborné učiliště, Hořovice

Měření konverzí pomocí HLEDEJCENY.cz

DPH v Exact Globe Next 2013

[APLIKACE PRO PŘEHRÁVÁNÍ VIDEA - PROJEKT MIAMI]

Příklady pracovních postupů

Databázové aplikace pro internetové prostředí PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

- 1 - Smlouva o dílo. uzavřená podle 536 a násl. obchodního zákoníku v účinném znění

1 Návod k instalaci školící databáze

Manuál administrátora FMS...2

Úvod do databázových systémů

Pokročilé schopnosti OOP

DATA ARTICLE. AiP Beroun s.r.o.

PHP a Large Objecty v PostgreSQL

PHP tutoriál (základy PHP snadno a rychle)

Platební systém XPAY [

Instalace a konfigurace web serveru. WA1 Martin Klíma

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ NÁVRH INTERNETOVÝCH STRÁNEK BAKALÁŘSKÁ PRÁCE FAKULTA PODNIKATELSKÁ ÚSTAV INFORMATIKY BRNO UNIVERSITY OF TECHNOLOGY

Třídy a objekty. Třídy a objekty. Vytvoření instance třídy. Přístup k atributům a metodám objektu. $z = new Zlomek(3, 5);

Standardně máme zapnutý panel nástrojů Formátování a Standardní.

(X)HTML. Internetové publikování

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni

Aktualizační systém Progres

Návrh a tvorba WWW stránek 1/14. PHP a databáze

Malý průvodce Internetem

Jak začít s ed MARKETEM

1. Dříve než začneme Trocha historie nikoho nezabije Co budete potřebovat Microsoft versus zbytek světa...

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Program pro flexibilní tvorbu evidencí. VIKLAN - Evidence. Uživatelská příručka. pro seznámení se základními možnostmi programu

5. POČÍTAČOVÉ CVIČENÍ

BankKlient. FAQs. verze 9.50

Uložené procedury Úvod ulehčit správu zabezpečení rychleji

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

Tlačítkem Poskládej jiný počítač se hra vrátí na úvodní obrazovku a lze zvolit jiný obrázek.

4. Základy relačních databází, logická úroveň návrhu

Vývoj, výroba, prodej a montáž docházkových a identifikačních systémů. Docházka 3000 Personalistika

Úvod do aplikací internetu a přehled možností při tvorbě webu

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

PHP Best Practices. Please try to fit your code to 80 columns. That's decimal 80. A. Morton

Uživatelská příručka systému pro administrátory obcí a manuál pro správce portálu

O nás. To vše a mnohem více Vám je schopna nabídnout již základní verze publikačního systému bravaweb.

Automatický přenos dat z terminálů BM-Finger

Uživatelský manuál Správce úloh. Verze dokumentu 1.0

Úvod do tvorby internetových aplikací

more Program se zastaví vždy po vypsání jedné stránky textu. Ukončení Ctrl+C less Umožňuje pohybovat se v souboru dopředu i dozadu.

Instalace. Produkt je odzkoušen pro MS SQL server 2008 a Windows XP a Windows 7. Pro jiné verze SQL server a Windows nebyl testován.

Univerzita Pardubice. Centrální správa dokumentů

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE

Funkce Chytrý dotyk. verze 1.4. A-61629_cs

StatSoft Odkud tak asi je?

KIV/PIA Semestrální práce

17. července :51 z moravec@yahoo.com

Redakční systém Joomla. Prokop Zelený

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

1. Problematika účetních výkazů a jejich aktualizace

OBALKYKNIH.CZ API 3.0, IMPLEMENTACE PRO ALEPH OPAC

Obsah. Seznam možných testů. Termíny úkolů

Zadávací dokumentace. výzvy k podání nabídky na plnění veřejné zakázky malého rozsahu

ÚVOD 3 SEZNÁMENÍ SE SYSTÉMEM 4

Maturitní otázka - optimalizace webových stránek

CS OTE. Dokumentace pro externí uživatele

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika

Národní šetření výsledků žáků v počátečním vzdělávání

RYCHLÝ NÁVOD NA INSTALACI WEBSYSTÉMU PSOIT NA SERVER LINUX

IMPORT DAT DO DATABÁZE

Import a export dat EU peníze středním školám Didaktický učební materiál

Transkript:

Root.cz - Úvod do PHP s přihlédnutím k MySQL Stránka č. 1 z 5 Úvod do PHP s přihlédnutím k MySQL 07.04.2000 Vhodná kombinace PHP a MySQL na dostatečně výkonném serveru poskytuje hodně možností. Hitem poslední doby je dynamicky generovaný web. A jak jinak ho dělat, než spojením skriptovacího jazyka a databáze. PHP je ještě docela mladý skriptovací jazyk, jeho vznik se datuje do konce roku 1994. Masového rozšíření dosáhl v letech následujících. Mezi jeho výhody patří jednoduchost. Pokud jste alespoň někdy viděli a psali jednoduché prográmky v jazyce podporujícím struktury (funkce - to hlavně, smyčky, podmínky...), nemělo by Vám činit problémy zvládnout PHP. Kdo by se chtěl o PHP zajímat poněkud hlouběji, má k dispozici nepřeberné množství příruček a návodů. Cílem článku není vyložit složitosti, ale spíš ukázat možnosti. PHP skripty se píší přímo do HTML, uzavírají se mezi tagy "" a "" (někdy "<%" a "%>" - záleží na konfiguraci). Web server podle nich pozná, že má tuto část kódu předat PHP modulu, který jej zpracuje a případně něco vrátí (a to web server pošle prohlížeči). Mějme nyní nainstalován PHP jako modul Apache, s podporou MySQL. Náš první skript bude vracet informace a možnosti nainstalovaného PHP modulu: phpinfo(); Uložme tento soubor do našeho adresáře s webem (pravděpodobně "~/public_html") a nazvěme ho index.php3. Spustíme browser a napíšeme naší URL. Objeví se stránka, která je generována samotným PHP. Na ní je výpis všech vlastností instalovaného PHP, něco o web serveru, MySQL serveru, a dokonce i o systému, na němž je PHP spuštěno. Existuje víc možností, jak z HTML vyskočit do PHP. Způsoby jsou: <? echo ("Tohle je nejjednodušší způsob\n"); echo("poněkud delší, ale vhodný pro XML dokumenty\n"); <script language="php"> echo ("Některé editory nemají rádi předchozí varianty...(třeba M$ FrontPage)"); </script> <% echo ("Nebo můžete používat ASP-čkové tagy"); %> Jistě jste si už všimli, že příkaz echo(); vypisuje argument do HTML kódu. Je to nejčastěji používaný příkaz. Syntaxe příkazů je podobná s jazykem C a C++. Skládá se ze jména funkce (příkazu), za nímž jsou v závorce uvedeny proměnné, které funkci předáváme. Možná by ještě bylo vhodné zmínit, že proměnné jsou lokální a globální. Lokální proměnné jsou dostupné pouze ve funkcích, ve kterých jsou používány.

Root.cz - Úvod do PHP s přihlédnutím k MySQL Stránka č. 2 z 5 Změňme nyní náš index.php3 tak, aby vypisoval aktuální čas a datum a hezky nás přivítal na stránce. K tomu použijeme předdefinované funkce implementované v PHP a týkající se času: print (date("d m Y h:i:s")); Reloadněte si stránku a uvidíte, co to napsalo. Příkaz print funguje stejně jako příkaz echo. Jelikož je funkce date hodně často používána, a málokdo si zapamatuje tu správnou syntaxi pro svoje účely nejvhodnější, vytvoříme si nyní funkci moje_datum: function moje_datum() { print (date("d m Y h:i:s")); } Je to jednoduchá funkce, do níž nic nevstupuje a nic se nevrací, pouze vytiskne datum v našem formátu. Uložme funkci do souboru funkce.inc do adresáře ~/public_html/include. V hlavním dokumentu (index.php3) se budeme na tuto funkci odvolávat. A aby interpret věděl, kde ji má hledat, řekneme mu to: require("include/funkce.inc"); moje_datum(); Výsledek je úplně stejný. Můžeme od této doby místo složitého vypisování "print (date("d m Y h:i:s"));" psát jen "moje_datum();". Ušetříte tím mnoho času a hlavně nebudete muset při požadavku na změnu formátu data a hodiny hledat třeba 10 000 výskytů, ale změníte jen funkci, která to zabezpečuje. Stejný přístup lze zvolit, pokud máte na stránce sekce vyskytující se na všech stránkách (třeba na ROOTu jsou to tlačítka dole...). Jednoduše si vytvoříte jakousi "šablonu" - kus HTML kódu nebo další PHP skript - a ten "vložíte" na požadované místo. Ukážeme si to na ukázce. Každý HTML soubor by měl mít hlavičku. Ta usnadňuje vyhledávání a nese v sobě informace o dokumentu, autorovi, právech a jiné věci. Vypadá asi takto: <head> <META name="description" lang="cs" content=""> <META name="keywords" lang="cs" content=""> <META name="generator" content="emacs 20.4">

Root.cz - Úvod do PHP s přihlédnutím k MySQL Stránka č. 3 z 5 </head> <META name="resource-type" content="document"> <META name="copyright" content="content (c) 2000 nekdo_nekde"> <META name="author" content="jmeno_autora"> <META HTTP-EQUIV="Reply-to" CONTENT="mail na odpovedi"> <META HTTP-EQUIV="Content-language" content="cs"> <META HTTP-EQUIV="Cache-Control" CONTENT="Public"> <META HTTP-Equiv="Content-Type" CONTENT="text/html; charset=iso-8859-2"> <title>nadpis stránky</title> Takto vypadá hlavička HTML dokumentu. Dá se předpokládat, že všechny námi dynamicky generované stránky budou mít hlavičku stejnou. Nic nám nebrání v tom, aby jsme jí jednoduše vložili do každé stránky: include("include/head.html"); require("include/funkce.inc"); moje_datum(); Hlavička by měla být ještě před tagem BODY, což je dodrženo. Jen je potřeba samostatnou hlavičku uložit do souboru "~/public_html/include/head.html". Reloadněte stránku a podívejte se na zdroj HTML. Měla by se objevit hlavička přesně tak, jak jsme předpokládali. A nyní už k samotné implementaci MySQL do PHP. Aby bylo možno využívat možností MySQL serveru, je nejdříve nutné se na něj napojit a vybrat požadovanou databázi. A pak se už můžeme serveru ptát a on nám bude (pokud bude moci) odpovídat. Jeho odpovědi zpracujeme a zhodnotíme. Nakonec se nesmíme zapomenout odpojit od serveru. Toto je obecný návod jak to dělat. V příkladu je to jednodušší. Napíšeme si nový index.php3. Z minulých dílů bychom měli mít tabulku lidé s takovouto strukturou a údaji: id rc prijmeni jmeno plat 1 790303/0041 Vonásek Alois 9990 2 250808/0087 Dlabačka Karel 23430 3 480202/5895 Houžvička Karel 8500 4 795331/0589 Klokánková Jana 12000 pohlavi ulice mesto psc m Ružová 15 Praha 1 11000 m Kolínská 1 Praha 8 18000 m Jabloňová 8 Praha 10 10100 z Školská 487 Praha 2 12000 Najednou budeme potřebovat rozeslat všem lidem třeba svatební oznámení. K tomu potřebujeme vědět jméno, příjmení a adresu sestávající z ulice, města a PSČ. Zkusme to napsat jako PHP

Root.cz - Úvod do PHP s přihlédnutím k MySQL Stránka č. 4 z 5 skript, který nám to vypíše do prohlížeče. 1: 2: 3: 4: $db = mysql_connect("localhost", "root", "heslo"); 5: mysql_select_db("root",$db); 6: $result = mysql_query("select * FROM lide",$db); 7: $radku = mysql_num_rows($result); 8: 9: for($i=0;$i<$radku;$i++) 10: { 11: printf("<table border=1>\n<tr>\n"); 12: printf("<td>jméno:</td><td> %s</td></tr>\n", mysql_result($result,$i,"jmeno")); 13: printf("<td>příjmení:</td><td> %s</td></tr>\n", mysql_result($result,$i,"prijmeni")); 14: printf("<td>ulice:</td><td> %s</td></tr>\n", mysql_result($result,$i,"ulice")); 15: printf("<td>město:</td><td> %s</td></tr>\n",mysql_result($result,$i,"mesto")); 16: printf("<td>psč:</td><td> %s</td></tr>\n",mysql_result($result,$i,"psc")); 17: printf("</table><br>\n"); 18: } 19: mysql_close($db); 20: 21: 22: Pojmenujte soubor jako lide.php3. Uložte ho do svého domovského adresáře s webem. Jak tento skript funguje? Řádek 4 znamená, že se spojujeme s MySQL serverem. Localhost je adresa počítače, na kterém server běží. Nemusí být totožná s naším. "root" je přihlašovací jméno a "heslo" heslo k přístupu do databáze. Tímto jsme napojeni na server. Musíme vybrat svojí databázi. Provádí to řádek 5, kde vybereme databázi root. Jelikož je možno navázat spojení zároveň s několika servery, musí (mělo by se) se u příkazů vztahujících se k SQL psát pointer na dané spojení, v našem případě "$db". PHP skript by jinak totiž nevěděl, jakého serveru se má ptát. Právě proto je jako druhý argument funkce mysql_select_db uváděn ukazatel na spojení. Vlastní dotaz na SQL server probíhá na řádku 6. Výsledek dotazu je uložen do proměnné $result, odkud musíme "vytahat" jednotlivé položky. Ještě budeme potřebovat vědět, kolik řádků bude mít vrácená tabulka. Zjistíme to příkazem "mysql_num_rows" s argumentem "$result" (lze si to představit i tak, že v proměnné result jsou nahuštěny všechny záznamy). Ještě tedy zbývá podstatná věc. A to jak údaje z tabulky dostat do nějakých proměnných. Můžeme použít příkaz "mysql_result" s argumenty výsledku dotazu, čísla řádku a jména sloupce. To je ve skriptu reprezentováno řádky 12 až 16. Možná je to napsáno trošku složitě, příkaz "mysql_result" je volán v příkazu printf. To nic nemění na jeho funkčnosti. Smyčka "for" zajistí to, aby se nám zobrazili všechny položky a každý řádek původní tabulky se vypsal do jedné "webowské" tabulky. Jednoduše řečeno procházíme tabulku řádek po řádku a údaje tiskneme do tabulky. Pokud se Vám to zdá pořád nepřehledné, změňte to takto: 1: 2: 3: 4: $db = mysql_connect("localhost", "root", "heslo"); 5: mysql_select_db("root",$db); 6: $result = mysql_query("select * FROM lide",$db); 7: $radku = mysql_num_rows($result); 8: 9: for($i=0;$i<$radku;$i++) 10: { 11: 12: printf("jméno: %s<br>\n",

Root.cz - Úvod do PHP s přihlédnutím k MySQL Stránka č. 5 z 5 mysql_result($result,$i,"jmeno")); 13: printf("příjmení: %s<br>\n", mysql_result($result,$i,"prijmeni")); 14: printf("ulice: %s<br>\n", mysql_result($result,$i,"ulice")); 15: printf("město: %s<br>\n", mysql_result($result,$i,"mesto")); 16: printf("psč: %s<br>\n", mysql_result($result,$i,"psc")); 17: 18: } 19: mysql_close($db); 20: 21: 22: Samozřejmě že nesmíte opsat vše i s čísly řádků na začátku. To by asi nefungovalo. Ještě uvedu výstup z prohlížeče, jak by to mělo vypadat ve druhém případě: Jméno: Alois Příjmení: Vonásek Ulice: Růžová 15 Město: Praha 1 PSČ: 11000 Jméno: Karel Příjmení: Dlabačka Ulice: Kolínská 1 Město: Praha 8 PSČ: 18000... atd. Nakonec ještě nesmíme zapomenout rozloučit se serverem - to je na řádku 19. Příkaz "mysql_close" se uvádí s argumentem spojení, které má uzavřít. Tím je náš první skript u konce. Závěrem jen snad to, že někdy je složitější zpracovat výsledky dotazu, než se vůbec zeptat. Tím myslím navrhnout design pro stránku, formuláře pro vkládání a mazání v databázi atd. Autor: Petr Hodan (thalez@volny.cz) Oblast: Praxe