<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE html PUBLIC '-//W3C/DTD XHTML+Voice 1.2 /EN' 'http://www.voicexml.org/specs/multimodal/x+v/12/dtd/xhtml+voice12.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml' xmlns:ev='http://www.w3.org/2001/xml-events'>
<head>
<link rel='stylesheet' href='http://pabi3.com/modules/items/voice.css' type='text/css' media='all' />
<form xmlns='http://www.w3.org/2001/vxml' id='title'>
<block>
The article PHP pre zaciatocnikov - Vypis dat z databazy, 13.diel is written by PaBi3
</block>
</form>
<form xmlns='http://www.w3.org/2001/vxml' id='body'>
<block>
Ak uz viete zapisovat data do databazy urcite vam lame hlavou myslienka ako ich dostat von resp. ako ich vypisat na stranku. Po precitani clanku to zistite.</block>
</form>
<form xmlns='http://www.w3.org/2001/vxml' id='full'>
<block>
Hlavnou funkciou pre vypis zaznamov je mysql_fetch_array(). Vracia jeden riadok
dat v lubovolnom formate. Funkcia, ktora bude vypisovat data s databazy by mala
mat nasledujuci format:

$data = mysql_fetch_array($sql);

Do hodnoty premennej $sql ulozime oznacenie dat s databazy pomocou prikazu select
a funkcie mysql_query().

$sql = mysql_query("SELECT * FROM tabulka");

$data = mysql_fetch_array($sql);

Funkcia mysql_fetch_array() ma aj nepovinne argumenty. Oznacuju nam vyber poli s
databazy resp. ci je pole asociativne, indexove alebo oboje. V dieli kde som
pisal o poliach som vysvetlil ake su to asociativne aj indexove ale ak si to
nepamatate, tak nevadi. Asociativne nam budu odkazovat na nejaky stlpec v tabulke,
co bude mat tento tvar:

$data = mysql_fetch_array($sql, MYSQL_ASSOC);

$nick = $data["nick"];

$email = $data["email"];

Naopak indexove nebudu odkazovat na stlpec v tabulke ich menom ale ich poradim.
Indexovanie sa bude zacinat od cisla 0, tak ako to bolo u poli. Zapis do premennych
bude vyzerat takto:

$data = mysql_fetch_array($sql, MYSQL_NUM);

$nick = $data["1"];

$email = $data["2"];

Argument MYSQL_BOTH moze vyuzivat vsetky s uvedenych moznosti a tak jeho pouzitie
uvadzat asi nemusim. Taktiez mozete namiesto funkcie mysql_fetch_array pouzit aj
funkcie, ktore budu vyhradene iba pre jeden s argumentov.

  
    mysql_fetch_array($sql, MYSQL_NUM)
    mysql_fetch_row()
  
  
    mysql_fetch_array($sql, MYSQL_ASSOC)
    mysql_fetch_assoc()
  

V tejto tabulke vidite oproti sebe stojace funkcie, ktore su si podobne a maju
aj podobny efekt. Samozrejme je najlepsie pouzivat funkciu mysql_fetch_array() a
vyberat si vypis dat s argumentmi alebo aj bez nich.
Vypis dat v php bude vyzerat takto:

&lt;?php

require_once(&quot;mysql.php&quot;);

while ($data = mysql_fetch_array($sql, MYSQL_BOTH)){

$nick = $data[&quot;nick&quot;];

$email = $data[&quot;email&quot;];

echo &quot;Nickname: $nick | Email: $email&lt;br /&gt;n&quot;;

}

?&gt;

Na vypis dat sme pouzili cyklus while. Pomocou tohto cyklu sa nam data budu vypisovat
dovtedy az kym sa nenacitaju a nenapisu vsetky. Je to vhodne ak v tabulke mate
viac ako len jeden zaznam. Teraz su data nacitane a vypisane.

V nasledujucej casti si ukazeme ako vypisat pocet zaznamov s databazy.</block>
</form>
<base href='http://pabi3.com/' />
<title>PHP pre začiatočníkov - Výpis dát z databázy, 13.diel</title>
</head>
<body ev:event='load' ev:handler='#title'>
<a href='http://pabi3.com/blog/php-pre-zaciatocnikov-vypis-dat-z-databazy-13-diel/' title='Návrat'>Návrat</a>
<h1 style='padding:0.5em;'>PHP pre začiatočníkov - Výpis dát z databázy, 13.diel</h1>
<ul>
<li ev:event='click' ev:handler='#body'>Speak introduction</li>
<li ev:event='click' ev:handler='#full'>Speak full</li>
</ul>
</body>
</html>
