zahlavie


Návrh databázy

Prejdeme si návrh databázy na jednoduchom príklade. Spravodajský server má uložené svoje články v databáze s názvom noviny, ktorú tvorí tabuľka články.

id titulok uvod clanok rubrika autor datum
1 Na trh prichádza nová poisťovňa AXA Svetový líder v oblasti poistenia prichádza na Slovensko s cieľom byť v prevej päťke poisťovní. Winterthur Group preberá AXA poistenie Miro 12.01.2006
2 T-Com uvádza službu Magio Spoločnosť Slovak Telekom prichádza prostredníctvom značky T-Com s digitálnou televíziou T-Com prináša Magio telefonovanie Jano 14.01.2006

Táto tabuľka bude v praxi veľmi veľká. Nebudem vysvetľovať, ako sa tvorí, ale podstatné je vedieť, že ju nikde nie je vidieť a je iba uložená v databáze. Pomocou PHP a SQL sa z nej dajú čítať dáta. V príklade predpokladám, že moja databáza je MySQL.

V prvej fáze príkladu sa nadväzuje spojenie s databázou. Tá obvykle sídli na tom istom počítači (localhost), ale teoreticky môže sídliť aj inde (musíš poznať adresu). Zadáva sa meno a heslo pridelené správcom a vyberá sa databáza (noviny).

Nasleduje zápis SQL príkazu. V ňom sa hovorí, ako sa majú vyberať všetky polia (to je tá hviezdička) z tabuľky články a zoradiť podľa dátumu (order by datum). Získané dáta sa načítajú do premennej $výsledok.

<h1>Výpis článkov</h1>
<?
$spojenie = mysql_connect(localhost,"meno","heslo" );  // vytvára spojenie s databázovým serverom
mysql_select_db(noviny, $spojenie);                                   // výber aktívnej databázy
$vysledok = mysql_query(                                                     // vykonávanie SQL príkazu
"SELECT * FROM clanky ORDER BY datum",
$spojenie);

/* Koniec priamej práce s databázou */

Druhá časť príkladu iba vyťahuje záznamy z premennej $vysledok a vytvára znej pole $zaznam. Vstup obaľuje HTML tagmy <br>, <a> a <p>. Dôležitou súčasťou tejto časti sú mená polí zodpovedajúce záhlaviu tabuľky.

/* Cyklom prechádzam riadky výsledku a vyťahujem z neho hodnoty do nového poľa $zaznam*/
while ($zaznam = mysql_fetch_array($vysledok) ):    // načíta záznam výsledku do asociatívneho poľa
echo "<p><a href='vypisclanku.php?id=";
echo $zaznam["id"];
echo "'>";
echo $zaznam["titulok"];
echo "<br></a>";
echo $zaznam["uvod"];
echo "<br>";
echo "Autor: ";
echo $zaznam["autor"];
echo "</p>";
endwhile;
?>

Výsledok:

Výpis článkov

Na trh prichádza nová poisťovňa AXA
Svetový líder v oblasti poistenia prichádza na Slovensko s cieľom byť v prevej päťke poisťovní.
Autor: Miro

T-Com uvádza službu Magio
Spoločnosť Slovak Telekom prichádza prostredníctvom značky T-Com s digitálnou televíziou
Autor: Jano

Home ~ Databáza ~ Návrh databázy

zapatie

Jazyk PHP | Základy jazyka PHP | Premenné | Riadiaca štruktúra | Pole | Formuláre | Funkcie v PHP | Databáza | Software | Úlohy | O webe