Archív Inet.sk Pôvodný autor: Rasťo Turek
24. 02. 2004 o 00:00 11932x

Ako na MySQL: časť druhá

Dnes sa pozrieme ako vyťahovať dáta z databáze a teda ako zozbierané údaje vypíšeme do stránky, samozrejme z pohľadu php. Je jasné, že si dnes preberieme len základné techniky, aby som začiatočníkov úplne nezmagoril a aby ma zas tí skúsenejší neohovorili hneď po prvých riadkoch.
Ako na MySQL: časť druhá

Niečo viac o dátach v mysql
Dáta, ako sme si už povedali minule, sú uložené v tabuľkách, ktorým priradíme akési pravidlá, podľa ktorých sú nasledovne ukladané. Ako si však dáta z databáze „vytiahnuť“ aby sme s nimi mohli pracovať? Nezabudnite samozrejme na pripojenie konfiguračného súboru pre pripojenie s mysql, ktorý sme si vytvorili už minule. Je to úplne jednoduché a my si dnes ukážeme niekoľko najzákladnejších typov pre výber dát, ďalej pár scriptov, ktoré nám budú rôznymi možnosťami dáta interpretovať a nakoniec to zhrnieme do záveru a vyhodnotíme záver. Tak poďme na to.

Konfiguračný súbor
Ešte raz Vám ukážem, ako použijeme konfiguračný súbor. Vyberieme si prvý spôsob a to zápis mimo funkciu. Vytvoríme si súbor a nazveme si ho config.php.

$server = “localhost”; // sem zadajte url k službe (defaultne localhost)
$user  = “user”;  // sem zadajte login k mysql
$password = “password”;  // sem zadajte password k mysql
$databaza = “databaza”;  // sem zadajte databázu, kde máte uložené dáta

if (!@$spojenie = MySQL_Connect("$server", "$user", "$password")):
 echo "Nepodarilo sa pripojiť k databáze!";
 die;
endif;
if (!@$select = MySQL_Select_Db("$databaza")):
 echo "Chyba pri výbere databáze!";
 die;
endif;

Príprava
Teraz si vytvoríme nejakú šablónu pre zobrazovanie súborov, teda pár tabuliek, aby sme mali dáta pekne formované. Spravíme si to úplne jednoducho. Tu je malá šablónka.

<table>
<tr>
<td>id zaznamu</td>
<td>meno zaznamu</td>
<td>hodnota zaznamu</td>
<td>datum</td>
</tr>
</table>

Takže do tejto šablónky si budeme stále vyberať dáta a zobrazovať ich. Ešte nám chýba tabuľka s údajmi.

CREATE TABLE inet(
id int(8) auto_increment,
meno varchar(250) not null,
hodnota varchar(250) not null,
datum date not null default '0000-00-00',
PRIMARY KEY id(id)
) TYPE=MyISAM;

INSERT INTO inet VALUES (1, 'Inet.sk', 'Kvalitny server o vsetkom moznom', '2004-02-07');
INSERT INTO inet VALUES (2, 'Lammer.sk', 'Kvalitny site o tom co vas zaujima', '2004-02-06');
INSERT INTO inet VALUES (3, 'Hojko.sk', 'Newsi zo sveta internetu', '2004-02-07');

Už máme aj niekoľko údajov a teda môžeme konečne začať na zobrazovaní dát.

Vytiahnutie dát z mysql
Čiže máme jednu funkciu, ktorou si vypýtame všetky dáta od mysql. Je to príkaz mysql_query(). Týmto príkazom mysql poviete, čo potrebujete urobiť. Príkladom upraviť dáta, pridať dáta, zmazať dáta a podobne. Samozrejme, že pre každý spôsob práce s dátami existuje iný príkaz a ten sa dáva do úvodzoviek v zátvorke. Tu je pár z nich:

Výber dát:
mysql_query(“SELECT * FROM meno_tabulky”);

Pridanie riadku:
mysql_query(“INSERT INTO meno_tabulky VALUES (‘prvy_stplec’,’druhy_stplec’,’x-ty_stlpec’”);

Odstránenie riadku:
Mysql_query(“DELETE FROM nazov_tabulky WHERE id=’cislo_zaznamu’”);

Jednoducho pre každý záznam je iný spôsob a samozrejme ja som Vám ukázal len skutočný začiatok. Máte možnosť doplniť tieto príkazy aj o množstvo ďalších podmienok ako napríklad LIMIT alebo WHERE. Je toho veľa, ale to už presahuje rozsah základov o mysql. Teda ak si chcete vybrať dáta z databáze bez ďalších podmienok, použijete pre to príkaz, ktorý priradíme premennej, aby sme mohli prenášať dáta a neskôr ich použiť.
Tu je ten príkaz:

$sql = mysql_query(“SELECT * FROM inet”);

Teraz máme zabezpečené prenesenie všetkých dát, ktoré sa v tejto tabuľke nachádzajú. Avšak tieto dáta sú ako keby nereálne, keďže ich nemáme odkiaľ zobrať, nemáme žiadnu definovanú premennú. Na to, aby sme si dáta mohli priradiť premennej musíme použiť jeden z dvoch základných príkazov. Prvým je mysql_fetch_object a druhým je mysql_fetch_array. Prvá funkcia nám zabezpečí, že dáta ktoré vytiahneme z databázi budú priradené premennej ako objekt, druhá ako pole. V konečnom dôsledku sa používajú úplne jednoducho.

Prvý typ si určíme takisto do premennej:

$zaznam=mysql_fetch_object($sql);

Použijeme to tak, že ak máme napríklad stĺpec id tak dáta si vytiahneme takto:

echo $zaznam->id;

Druhý typom sú polia a tie si vyberieme takto:

$zaznam=mysql_fetch_array($sql);

Použijeme ho tak, že ak si chceme vybrať dáta z druhého stĺpca, tak jednoducho zadáme:

echo $zaznam[1];

Chcem upozorniť, že číslujeme vždy od nuly, teda prvý stĺpec je vždy 0!
Problémom zostáva už jediná vec. Keď použijeme nasledovné funkcie tak ako sme ich napísali, tak Vám to zobrazí len prvý riadok, teda riadok s id číslo 1. My si však potrebujeme vypísať všetky riadky so záznamami. Tento problém vyriešime tak, že celý zápis umiestnime do cyklu while. Potom to bude program vyzerať asi nasledovne (samozrejme že už aj upravený podľa šablóny tabuliek, ktorú sme si pripravili).
Nezabudnite na pripojenie konfiguračného súboru!

include(“config.php”);
$sql = mysql_query(“SELECT * FROM inet”);

echo "<table border=\"1\">";
echo "<tr align=\"center\">";
echo "<td>id zaznamu</td>";
echo "<td>meno zaznamu</td>";
echo "<td>hodnota zaznamu</td>";
echo "<td>datum</td>";
echo "</tr>";

while($zaznam=mysql_fetch_object($sql))
{
echo "<tr>";
echo "<td>$zaznam->id</td>";
echo "<td>$zaznam->meno</td>";
echo "<td>$zaznam->hodnota</td>";
echo "<td>$zaznam->datum</td>";
echo "</tr>"; 
}
echo "</table>";

Takto si zabezpečíme vypísanie všetkých dát z tabuľky pomocou priraďovania premennej objekt. Ak by ste chceli použiť pre vypísanie dát polia, tak to by vyzeralo asi takto:

include("config.php");
$sql=mysql_query("SELECT * FROM inet");

echo "<table border=\"1\">";
echo "<tr align=\"center\">";
echo "<td>id zaznamu</td>";
echo "<td>meno zaznamu</td>";
echo "<td>hodnota zaznamu</td>";
echo "<td>datum</td>";
echo "</tr>";
while($zaznam=mysql_fetch_array($sql))
{
 echo "<tr>";
 echo "<td>$zaznam[0]</td>";
 echo "<td>$zaznam[1]</td>";
 echo "<td>$zaznam[2]</td>";
 echo "<td>$zaznam[3]</td>";
 echo "</tr>";
}
echo "</table>";

Je to skutočne jednoduché, stačí, ak pochopíte základy a už pre Vás mysql nebude španielskou dedinou. Keďže mám obmedzený priestor pre písanie článkov, týmto ukončujem dnešný diel. Jednoducho ak chcete pochopiť mysql čo najlepšie a využiť jeho potencionálu, musíte si poriadne prečítať odbornú literatúru poprípade pre angličtiny znalých odporúčam manuál, ktorý nájdete na stránkach http://www.mysql.com/doc/en/index.html. Určite Vám bude skvelou pomôckou pri písaní skvelých aplikácii v php. Najbližšie by som sa chcel pozrieť na jednoduché vyhľadávanie v mysql a dátových súboroch a to už spadá do seriálu ako na.

Prajem množstvo príjemne nakódovaných hodín.

Rastislav Turek // lammer.sk

Novinky a inšpirácie

Z nášho blogu

Prečítajte si novinky, inšpirácie a dôležité informácie zo sveta webhostingu a technológií.

Bezpečnostné aktualizácie PHP: Chráňte svoj web pred hrozbami Oznamy
21. 10. 2026

Bezpečnostné aktualizácie PHP: Chráňte svoj web pred hrozbami

Vývojársky tím PHP vydal dôležité bezpečnostné záplaty pre všetky oficiálne podporované verzie PHP 8. Na našich serveroch sme nezaváhali ...

Čítať viac
Gmail končí s funkciou „Odoslať ako“ pre cudzie e-mailové adresy. Čo to znamená pre vás? Oznamy
01. 10. 2026

Gmail končí s funkciou „Odoslať ako“ pre cudzie e-mailové adresy. Čo to znamená pre vás?

Google oznámil, že v januári 2027 zruší v Gmaile funkciu „Odoslať ako“ (Send as) pre e-mailové adresy od iných poskytovateľov. Ak ste si ...

Čítať viac
Večerná „prestávka“ pre server VIP033 Oznamy
25. 09. 2026

Večerná „prestávka“ pre server VIP033

Neustále pracujeme na tom, aby vaše weby bežali hladko, rýchlo a bezpečne. Technológie idú míľovými krokmi vpred a my v Inet.sk s nimi dr...

Čítať viac
Novinky na Inet.sk (09 / 2026) Novinky
09. 09. 2026

Novinky na Inet.sk (09 / 2026)

Posledné mesiace sme v Inet.sk nevenovali len stabilite serverov, ale najmä počúvaniu vašich reálnych skúseností z každodennej praxe. Výs...

Čítať viac

Podpora klientom

Máte ďalšie otázky?

Nezúfajte, pripravili sme pre Vás jednoduché odpovede na najdôležitejšie otázky, ktoré od našich klientov dostávame.

Zistiť viac

Naše výhody

Prečo si nás vybrať?

Našim klientom ponúkame až 30-dňovú záruku vrátenia peňazí.

Sme skutočný slovenský webhosting

Slovenská
firma

Nepatríme pod žiadnu nadnárodnú spoločnosť, sme malá rodinná firma.

Na nás sa môžete kedykoľvek spoľahnúť

Dlhoročné
skúsenosti

Na slovenskom trhu pôsobíme už viac ako 20 rokov, sme overená značka.

Naši prví zákazníci sú stále s nami

Spokojní
zákazníci

Naši zákazníci sú ako naša rodina, preto nám verí už viac ako 1250 klientov.

Maximálna bezpečnosť

Maximálna
bezpečnosť

Chránime Vás pred útokmi i SPAMom. U nás sú Vaše dáta v bezpečí.

Prozákaznícka podpora

Ochotná
podpora

Zakladáme si na individuálnom prístupe, preto Vám vždy radi pomôžeme.

Kvalita a dobrá cena

Férová
cena

Cena pri obnove je rovnaká ako pri objednávke. Nezdražujeme po prvom roku a bez skrytých poplatkov.

U nás sa Vám nič nestratí

Pravidelné
zálohovanie

Vaše dáta zálohujeme každý deň, dostupné sú aj zálohy z pred niekoľkých mesiacov.

Svižný Admin Panel nájdete len u nás

Prehľadný
Admin Panel

Máme rýchly a prehľadný Admin Panel, ktorý zvládne používať naozaj každý.

Správa používateľov

Správa
používateľov

Spravujte svoje projekty bez akýchkoľvek obáv s kolegami alebo externými partnermi.

Máme zľavy pre verných klientov

Vernostné
zľavy

Verní klienti u nás automaticky získavajú 15 % zľavu na každú ďalšiu objednávku.

My Vás nebudeme obmedzovať

Bez
obmedzení

Neobmedzujeme počet databáz, e-mailov, ftp a ani prenos dát.

Hosting pre WordPress

WordPress
na 1 klik

Nainštalujte si obľúbené redakčné systémy rýchlo a jednoducho.

Referencie

Spokojní zákazníci

Pozrite sa, čo o nás povedali naši klienti. Neváhajte a pridajte sa k nám ešte dnes.

Auto 100
Bystricoviny
eCall Slovakia
Filip Jančík
Frost
Merkury Broker
Mi:Su Design
Mesto Nitra
Pro Clienta
Schneider Lekáreň
Vego Marketing
Mesto Zlaté Moravce

Všetky ceny sú uvádzané bez DPH
© 2006 - 2026, Inet.sk, s. r. o., Všetky práva vyhradené

Na našej stránke používame "cookies". Vďaka nim sledujeme návštevnosť, prispôsobujeme reklamu a používateľské nastavenia, čo zlepšuje Váš zážitok z našej stránky. Súhlasíte s ich spracovaním?
Vlastné nastavenia cookies