Prakticky s MySQL - 1. díl

V novém seriálu o MySQL se zblízka podíváme na jeho možná využití ve spojení s ASP a VBScriptem, později Perlem a v jeho závěru si vytvoříme s využitím PHP vlastní firemní aplikaci…
Úvod do našeho seriálu

Dovolil bych si navázat na uveřejněný seriál Základy MySQL sérií článků o práci s MySQL v rámci rozličných skriptovacích jazyků a webově orientovaných prostředí k vývoji aplikací. Postupně si povíme něco o MySQL ve spolupráci s ASP, Perlem a PHP a nakonec si vytvoříme s využitím PHP vlastní jednoduchou aplikaci, intranetový firemní systém pro správu zaměstnanců s možností jejich spolupráce na firemním bulletinu.

MySQL je bezplatný systém správy relačních databází podnikové úrovně spouštěný ve více vláknech. Byl vyvinut švédskými TcX. Díky využitelnosti na platformě Linux si v jejím případě získal dnes již výsadní postavení zásluhou své pružnosti, spolehlivosti a rychlosti. Z úvodní definice lze jednoduše vyvodit, že MySQL umožňuje práci více uživatelů zaráz s přijatelnou mírou zabezpečení, jednotlivé tabulky lze mezi sebou různě provázat. Pojem vícevláknový - multithread, označuje separátnost jednoho každého procesu a dotazu, zpracovávaného serverem. Systém s bezmála patnáctiletou existencí a návazností na rozhraní API pro PERL, TCL, Python, C/C++, Java (JDBC) a ODBC, šířený zdarma, si logicky pozici na internetu získal a vzhledem k jím nabízeným funkcím je tím nejlepším řešením pro většinu aplikací.

Pokus si nainstalujeme MySQL a chtěli bychom s ním začít pracovat, měli bychom si nejdříve ozřejmit některá fakta. Pro práci s celým systémem je výchozí branou mimo skriptů soubor mysql.exe nacházející se v podadresáři bin adresáře MySQL. Tento soubor spouští v dosovském okně ovládací konzoli, kdy platí všechny standardní příkazy SQL, pro zvolení databáze se používá příkaz USE, každý příkaz ukončujeme středníkem či \g a všudypřítomný příkaz help nám vždy pomůže najít tu správnou cestu k tomu, co právě potřebujeme. Naše databáze se tvoří formou složek v podadresáři data v složce se systémem MySQL a v této složce nalezneme pro každou tabulku 3 soubory. Schémata tabulek obsahují soubory .frm, .myd obsahují fyzická data a .myi předchozí 2 typy souborů provazuj pro větší efektivnost práce s nimi. Základní pomůckou pro správu MySQL je program MySQLadmin, jenž se taktéž nachází ve složce bin.

Nástin dalších možností MySQL začneme srovnáním jednotlivých skriptovacích jazyků ve spolupráci se zmiňovaným databázovým rozhraním ukázkou jeho aplikace v praxi, v následujících dvou dílech to bude jazyk ASP a VBScript. Při programování v ASP (active server pages) využíváme pro napojení na MySQL systém ODBC. Ten je Microsoftím produktem se všemi z toho vyplývajícími výhodami, tj. nezměrnou podporou ze strany Microsoftu ve formě programovacích prostředí s implementací ODBC (Open Database Connectivity) pro spolupráci s databázovými systémy. To znamená, že chceme-li zadat dotaz MySQL z ASP, musíme k tomu použít ODBC, ovšem na druhou stranu můžeme pro napojení na další databázové systémy používat stejné komunikační rozhraní, pokud při kladení SQL dotazů dodržíme standard ANSI (American National Standards Institute) - kódování ANSI SQL92 je soubor ustálených pravidel kladení SQL (Structured Query Language) dotazů, vyhlášený v roce 1992 v Americkém institutu pro národní standardy..

Instalace myODBC

Pokud má náš počítač provozovat pod systémem Windows ODBC, měli bychom ošetřit napojení na MySQL následujícím způsobem:

Klepněte pro větší obrázek

Poznámka: Veškeré náhledy byly prováděny s nastavením kontrastu lila.

  • V Ovládacích panelech vybereme položku Zdroje dat ODBC(nebo pouze ODBC u Windows NT 4.0 a výše).
  • V kartě Ovladače vidíme nainstalované ovladače.
  • Stáhneme a nainstalujeme si ovladače myODBC.
  • Definujeme si název zdroje dat (DSN), jenž obsahuje vše potřebné k připojení k naší databázi, například Diskuse tak, že zvolíme kartu Systémové DSN.
  • Vidíme již nainstalované ovladače na našem počítači a klikneme na tlačítko Přidat.
  • Zvolíme si z nabídky dostupných ovladačů MySQL a dokončíme proces.
  • Vyplníme údaje k připojení k databázi:Windows DSN Names: Diskuse
    MySQL Host (name or IP): localhost
    User: root
    Password: heslo
    A zvolíme OK.

ASP, VBScript a základy práce na webu
 
Proces spolupráce produktů Microsoftu s MySQL je veskrze jednoduchý, na ASP stránku umístíme například VBScript, který bude vyvolán jako důsledek některé z uživatelských akcí (načtení stránky, odeslání dat formulářem, …) a vždy se budou dotazy zpracovávat na základě proměnných, jenž jsou nějakým způsobem serveru dodána. Představme si tedy naši diskusi, kdy uživatel odešle data z následující stránky:
 
<html>
<form action="akce.asp" target="_self" method=post>
<table width=100%>
  <tr><td align=right valign=center>Příspěvek:</td><td align=left><textarea name="Prispevek" cols=40 rows=5></textarea></td></tr>
  <tr><td colspan=2 align=center><input type=submit value="Přispěj!"></td></tr>
</table>
</form>
</html>

Klepněte pro větší obrázek
 
Tyto data budou zpracovány skriptem akce.asp:

<%Language=VBScript%>
<head>
<title>Díky!!</title>
</head>
<%
`deklarace proměnných
Dim Conn
Dim Cmd

`vytvoření objektu ADO
Set Conn = Server.CreateObject("ADODB.Connection")
Set Cmd = Server.CreateObject("ADODB.Command")

`parametry připojení
Conn.CommandTimeout = 30
Conn.ConnectionString = "server=101.101.101.101;db=Diskuse;" &_
"uid=root;pwd=heslo;driver=MySQL"
Conn.Open

`vykonání dotazu
Cmd.ActiveConnection = Conn
Cmd.CommandType = 1
Cmd.CommandText = "INSERT INTO SeznamPrispevku (Prispevek)" &_
" VALUES(" & Request("Prispevek") & ")"
Cmd.Execute

`uzavření spojení
Conn.Close
%>

<body bgcolor=black text=white>
Díky za příspěvek, moc se mi líbí:-).
</body>

Pozorný čtenář pochopil, že značky <% %> ohraničují kód ASP. V naší ukázce nám pomáhal jazyk odvozený z programovacího prostředí Visual Basicu, možný alternativami jsou ale i JScript, LotusScript či PerlScript. Abychom se mohli jednoduše vrhnout na složitější příklady užití VBScriptu, nauříme se jeho základy. Základem všeho jsou proměnné, ty nám VBScript umožňuje nerozlišovat na typy a proto obsahuje jeden universální typ, variant, který může nabývat jakýchkoli hodnot. Definice proměnné probíhá pomocí příkazu Dim. Základní podmínkové cykly se nijak neliší od koncepce jazyka Visual Basic, což dokazuje následující ukázka:

Dim VypsatJmeno
Dim Jmeno

If VypsatJmeno > 0 Then
  Response.Write("Autor příspěvku: " & Jmeno)
Else
  Response.Write("Anonym")
End If

Jak vidíte na této ukázce, syntaxe podmínkového cyklu If vypadá následovně:

If podmínka Then
  Akce 1
Else
  Akce 2
End If

Pro vykonání cyklického úkonu například při zpracovávání příspěvků diskuse nám slouží příkazy cyklu Do While, Do Until, While a For…Next. Jejich ukázkou nám bude vypisování příspěvků diskuse, dokud není vypsán poslední z naší vybrané sady (rsPole). Náš příklad počítá s aplikací v rámci tabulky na stránce HTML, jak bývá při podobných akcích zvykem a pod ním naleznete i ilustrativní provedení nastíněným skriptem generovaného HTML kódu.

Do Until rsPole.EOF
Response.Write("<tr><td width=30>#:</td><td>" & rsPole("Prispevek") & "</td></tr>")
RsPole.MoveNext
Loop

Klepněte pro větší obrázek

Dnešní lekci zakončíme tvorbou komentářů v ASP, jenž ošetřuje znak ` na začátku každého komentářového řádku:

`Okno zprávy jazyka VBScript
MsgBox("Bu bu bu!")
`Nikdy se nezapamatuji syntaxi příkazu MsgBox,
`ach jo

A zmíněná funkce MsgBox je popsána takto:

MsgBox(Zpráva, DefiniceTlačítek, Titulek)

Zpráva je obsah tohoto elementu, jenž bude vypsán na obrazovce, DefiniceTlačítek nabývá hodnot 1 až 5 a podle nich se generují tlačítka v rámci MsgBoxu. Titulek je následně nápis v titulkovém pruhu naší zprávy. Jak je ovšem vidět, není nutné poslední 2 parametry definovat.

MsgBox("Bu bu bu!", 2, "Strašící hláška")

Klepněte pro větší obrázek

V pokračování našeho seriálu si již vytvoříme a detailně zanalyzujeme složitější procesy v rámci webových stránek s využitím ASP a VBScriptu, zdokumentujeme si objekty Active X Data, a vytvoříme si plně funkční diskusi, takže se máte na co těšit.

Diskuze (15) Další článek: MandrakeLinux 8.1 na 1CD

Témata článku: Software, Programování, Mys, Následující aplikace, Root, Code, Autor příspěvku, Lily, MySQL, Díl, Active Server Pages, Lili, DSN


Určitě si přečtěte

Konec modrých obrazovek smrti? Microsoft vydává mimořádnou aktualizaci pro Windows 10
Karel Kilián
Windows UpdateAktualizaceWindows 10
Dostali jste nový počítač? Tohle s ním udělejte, než ho začnete používat

Dostali jste nový počítač? Tohle s ním udělejte, než ho začnete používat

** Každý nový počítač si zaslouží počáteční péči ** Odinstalujte bloatware a nezapomeňte na vhodné nastavení ** Poradíme, jak se o počítač s Windows 10 postarat

David Polesný, Stanislav Janů | 75

David PolesnýStanislav Janů
PočítačeNotebooky
Bankovní identita bude jednotná. K České spořitelně, ČSOB a KB se připojí menší banky
Lukáš Václavík
Portál občanaBankaeGovernment
Vážně dnes ještě někdo krade Adobe? Video můžete stříhat zdarma v Resolve a fotky i vektory zvládne Affinity

Vážně dnes ještě někdo krade Adobe? Video můžete stříhat zdarma v Resolve a fotky i vektory zvládne Affinity

** Kde jsou ty doby, kdy měl skoro každý doma Photoshop ** Photoshop a Premiere Pro od kamaráda nebo z warezu ** Dnes už to nemá smysl, existuje totiž hromada laciných alternativ

Jakub Čížek | 92

Jakub Čížek
Grafický editorStřih videa
Technici nestíhají. Cetin dočasně přerušil zavádění VDSL bondingu
Lukáš Václavík
CETINPřipojení k internetu
Japonská MANA může být 80× výkonnější než sebelepší tranzistorový procesor

Japonská MANA může být 80× výkonnější než sebelepší tranzistorový procesor

** Tranzistory současných počítačů vyzařují při přepínání teplo ** Na Tokijské univerzitě proto vyvíjejí adiabatické procesory ** Využívají supravodivost a jsou 80× úspornější

Jakub Čížek | 48

Jakub Čížek
TranzistoryProcesoryTechnologie