IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

1. diel - Úvod do databáz v PHP pre úplných začiatočníkov

Vitajte v prvom dieli seriálu tutoriálov o prácu s MySQL databázou v PHP pre úplných začiatočníkov a bez objektovo orientovaného programovania. MySQL je najpoužívanejší databázy, ktorá je zadarmo a máte ju k dispozícii snáď na každom webhostingu. V niekoľkých lekciách tu vytvoríme funkčné príklady a nakoniec tiež jednoduchý blog s editorom článkov.

Úvod

Seriál sa budem snažiť písať čo najjednoduchšie. Budem predpokladať aspoň minimálny základ syntaxe PHP. U MySQL databázy si v seriáli popíšeme nutné minimum, čiže tu vôbec žiadne znalosti nepotrebujete. Znalosti OOP tiež nepotrebujete.

Pre záujemcov sú tu samozrejme aj podrobnejšie seriály o MySQL databázu a podrobnejšie seriály o objektovo orientovanom programovaní. Tento seriál je vlastne taká veľmi odľahčená verzia, aby si databázy mohol v PHP skúsiť úplne každý.

Prečo použiť databázu

Ako používatelia nejakého webe chceme určite meniť jeho obsah (napísať článok, komentár, pridať tovar do eshopu, zamestnanca do firmy a podobne). Bolo by naozaj nepohodlné búšiť pre každý článok novú HTML stránku a tú nahrávať na server. V článkoch (produktoch, zamestnancoch ...) by sa navyše nedalo vyhľadávať a pri väčšom počte by to bolo veľmi neprehľadné. Oveľa lepší spôsob je naprogramovať si v PHP editor článkov, ktorý články ukladá do databázy a čitateľom je potom z databázy zobrazuje.

Možno vás napadlo, že na to vlastne ani nepotrebujeme nejakú databázu. Dáta by sme rovnako dobre mohli ukladať editorom do nejakých textových súborov alebo niečoho podobného. Určite by to nejako fungovalo, alebo nie?

RDBMS - Databázy v PHP pre začiatočníkov

Databáza nie je len úložisko dát. Jedná sa o veľmi sofistikovaný a odladený nástroj, ktorý za nás rieši veľa problémov a zároveň je extrémne jednoduchý na použitie. S databázou totiž komunikujeme jazykom SQL, ktorým sú v podstate ľudsky zrozumiteľné vety. S databázou si naozaj píšeme štýlom "vyber mi užívateľa, ktorého email je franta @ seznam.cz "alebo" vlož do používateľov nové sa menom Ján a emailom jan @ seznam.cz ". Prípadne môžeme napísať napríklad i toto:" vyber mi meno používateľa s emailom franta @ seznam.cz a jeho články, zoradené podľa dátumu vydania zostupne ". Budete prekvapení, ako jednoduché to je. Databáza za nás rieši ešte veľa ďalších problémov ohľadom ukladanie dát, ktoré by sme sami asi ťažko preklenuli. Tu je však nebudeme rozvádzať.

Databáza je teda taká čierna skrinka, ktorá za nás nejakým spôsobom rieši všetko okolo dát a my sa o to nemusíme starať a iba ju jednoducho používame. V dnešnej dobe sa už inak s dátami prakticky nepracuje.

Relačnej databázy

MySQL je tzv. Relačnej databázy. Tento pojem označuje databázu založenú na tabuľkách. Každá tabuľka obsahuje položky jedného typu. Môžeme mať teda tabuľku uzivatele, ďalšiu tabuľku clanky a ďalšie potrebné komentare. Tabuľky sa väčšinou pomenúvajú skôr v jednotnom čísle, na účely tohto kurzu mi ale prišlo logickejšie použiť plurál.

Databázovú tabuľku si môžeme predstaviť napríklad ako tabuľku v Exceli. Tabuľka uzivatele by mohla vyzerať asi takto:

Meno priezvisko dátum narodenia počet článkov
Jan Novák 11.3.1984 17
Tomáš márny 1.2.1989 6
Josef nový 20.12.1972 9
Michaela Slavíková 14.8.1990 1
Položky (konkrétne tu užívatelia) ukladáme na jednotlivé riadky, stĺpce potom označujú atribúty (vlastnosti, ak chcete), ktoré položky majú. MySQL databázy je typová, to znamená, že každý stĺpec má pevne stanovený dátový typ (číslo, znak, krátky text, dlhý text ...) a môže obsahovať hodnoty len tohto typu. Ak chceme s relačné databázou rozumne pracovať, každý riadok v tabuľke by mal byť opatrený unikátnym identifikátorom. U užívateľov by to mohlo byť napríklad rodné číslo, oveľa častejšie sa však používajú identifikátory umelé a to tak, že používateľa jednoducho očíslujeme. K tomu sa dostaneme neskôr.

Slovo relačné označuje vzťah (anglicky relation), ktoré môžu byť medzi jednotlivými subjektmi v databáze, ale tým sa nebudeme zatiaľ zaoberať.

Potrebné nástroje

Začnime teda. Potrebovať budeme nakonfigurovaný webserver Apache a databázu MySQL. Predpokladám, že ste už niekedy spustili nejaký PHP skript a že prostredie teda máte k dispozícii, prípadne tu je návod na inštaláciu PHP a MySQL.

PhpMyAdmin

phpMyAdmin je najpoužívanejší prostredie pre prácu s MySQL databázou. MySQL s phpMyAdminom nájdete na každom webhostingu a ak sa niekedy dostanete k cudziemu projektu, je veľmi pravdepodobné, že bude postavený práve na týchto technológiách. K phpMyAdmin sa dostanete cez administračné rozhranie vášho webhostingu. Na localhost má obvykle adresu:

localhost/phpmyadmin/

Mali by ste vidieť webové rozhranie phpMyAdmin, ktoré vyzerá asi takto:

phpMyAdmin - Databázy v PHP pre začiatočníkov

Vytvorenie databázy

Vytvorme si databázu, s ktorou budeme v seriáli pracovať. Zvyčajne nám bude pre jeden projekt (web) stačiť jedna databázy.

Tento krok za nás už na webhostingu takmer vždy urobili a dostaneme k dispozícii často práve jednu databázu, ktorá sa zvyčajne volá rovnako, ako náš účet (teda potrebné niečo ako mojewebovastran­kacz1). Na localhost si ju musíme vytvoriť sami.

Klikneme v phpMyAdmin hore na záložku Databáza. Vyplníme názov databázy (napr. Databaze_pro_web). V databázach je zvykom pomenovávať položky bez diakritiky, malými písmenami as podtržítkovou notáciou. Snáď vám je jasné, prečo nie je diakritika dobrý nápad, za veľkými a malými písmenami je Linux, ktorý je rozlišuje a väčšina serverov práve na Linuxe beží. Porovnávanie nastavíme na utf8_czech_ci (pre slovenčinu utf8_slovak_ci), aby nám fungovala diakritika a radenie. Potvrdíme.

Vytvorenie MySQL databázy - Databázy v PHP pre začiatočníkov

Ak dole v okne kliknete na "Konzola", môžete si všimnúť, že PhpMyAdmin na pozadí vygeneroval SQL dotaz z toho, čo sme naklikali a ten poslal databázu. Vyzeral asi nejako takto:

CREATE DATABASE databaze_pro_web CHARACTER SET utf8 COLLATE utf8_czech_ci;

Ale pamätať si ho nemusíte, databázy a tabuľky budeme vždy klikať cez phpMyAdmin. Databáze máme pripravenú, tvorbu tabuľky si necháme na budúci lekciu, Prvý databázová tabuľka a MySQL ovládače v PHP .


 

Všetky články v sekcii
Databázy v PHP pre začiatočníkov
Preskočiť článok
(neodporúčame)
Prvý databázová tabuľka a MySQL ovládače v PHP
Článok pre vás napísal David Hartinger
Avatar
Užívateľské hodnotenie:
4 hlasov
David je zakladatelem ITnetwork a programování se profesionálně věnuje 15 let. Má rád Nirvanu, nemovitosti a svobodu podnikání.
Unicorn university David sa informačné technológie naučil na Unicorn University - prestížnej súkromnej vysokej škole IT a ekonómie.
Aktivity