PHP pre začiatočníkov - Výpis dát z databázy, 13.diel

Ak už viete zapisovať dáta do databázy určite vám láme hlavou myšlienka ako ich dostať von resp. ako ich vypísať na stránku. Po prečítaní článku to zistíte.

Hlavnou funkciou pre výpis záznamov je mysql_fetch_array(). Vracia jeden riadok dát v ľubovolnom formáte. Funkcia, ktorá bude vypisovať dáta s databázy by mala mať nasledujúci formát:

$data = mysql_fetch_array($sql);
Do hodnoty premennej $sql uložíme označenie dát s databázy pomocou príkazu select a funkcie mysql_query().
$sql = mysql_query("SELECT * FROM tabulka");

$data = mysql_fetch_array($sql);
Funkcia mysql_fetch_array() má aj nepovinné argumenty. Označujú nám výber polí s databázy resp. či je pole asociatívne, indexové alebo oboje. V dieli kde som písal o poliach som vysvetlil aké sú to asociatívne aj indexové ale ak si to nepamätáte, tak nevadí. Asociatívne nám budú odkazovať na nejaký stĺpec v tabuľke, čo bude mať tento tvar:
$data = mysql_fetch_array($sql, MYSQL_ASSOC);

$nick = $data["nick"];

$email = $data["email"];
Naopak indexové nebudú odkazovať na stĺpec v tabuľke ich menom ale ich poradím. Indexovanie sa bude začínať od čísla 0, tak ako to bolo u polí. Zápis do premenných bude vyzerať takto:
$data = mysql_fetch_array($sql, MYSQL_NUM);

$nick = $data["1"];

$email = $data["2"];
Argument MYSQL_BOTH môže využívať všetky s uvedených možností a tak jeho použitie uvádzať asi nemusím. Taktiež môžete namiesto funkcie mysql_fetch_array použiť aj funkcie, ktoré budú vyhradené 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 tabuľke vidíte oproti sebe stojace funkcie, ktoré sú si podobné a majú aj podobný efekt. Samozrejme je najlepšie používať funkciu mysql_fetch_array() a vyberať si výpis dát s argumentmi alebo aj bez nich. Výpis dát v php bude vyzerať takto:
<?php

require_once("mysql.php");

while ($data = mysql_fetch_array($sql, MYSQL_BOTH)){

$nick = $data["nick"];

$email = $data["email"];

echo "Nickname: $nick | Email: $email<br />n";

}

?>
Na výpis dát sme použili cyklus while. Pomocou tohto cyklu sa nám dáta budú vypisovať dovtedy až kým sa nenačítajú a nenapíšu všetky. Je to vhodné ak v tabuľke máte viac ako len jeden záznam. Teraz sú dáta načítané a vypísané.

V nasledujúcej časti si ukážeme ako vypísať počet záznamov s databázy.

13.05.2005 14:53

PaBi3

Programovanie