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() |
<?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é.