MySQL - výpis záznamu (5.díl)

« zpět na MYSQL

Po dnešním díle již zvládnete vytvořit jednoduchou návštěvní knihu.

Po dnešním díle již zvládnete vytvořit jednoduchou návštěvní knihu. Je nutné, aby z minulého dílu jste měli již naplněnou tabulku kniha. V příštím díle budeme, pokračovat při zlepšování naší jednoduché návštěvní knihy.

Je nutné použít soubor nastaveni.php z minulého dílu. Připojení k DB již umíte z minula. Klíčovým prvkem bude vytvořit SQL-dotaz na databázi. Chceme vypsat posledních 10-příspěvků a aby novější byli nahoře (listování ve starších příspěvcích si ukážeme příště).

SELECT * FROM kniha ORDER BY datum DESC LIMIT 0, 10

dalo by se to přeložit jako
VYBER vše Z TABULKY kniha USPOŘÁDEJ PODLE datum SESTUPNĚ LIMITUJ 0,10


SELECT * FROM kniha - vybere všechny záznamy z tabulky kniha

ORDER BY datum DESC - uspořádá podle datumu sestupně

LIMIT 0, 10 - začne od 0-tého prvku a zobrazí jich 10 (např. LIMIT 30,10 - začne od 30-tého prvku a zobrazí jich deset)

Pomocí funkce mysql_fetch_array() načteme záznamy do pole $zaznam a odtud pomocí cyklu while postupně vypíšeme záznamy.

Zde je celý soubor, nazveme ho vypis.php <html>
<head>
<title>výpis z návštěvní knihy, www.owebu.cz </title>
<META http-equiv=Content-Type content="text/html; charset=windows-1250">
</head>
<body>

<center>
<div style="width:500px;text-align:left;">

<?
require("nastaveni.php");

$pripoj=MySQL_Connect($SQL_Server, $SQL_Uzivatel, $SQL_Heslo) or Die(MySQL_Error());
MySQL_Select_Db($Databaze) or Die(MySQL_Error());

$dotaz="SELECT * FROM kniha ORDER BY datum DESC LIMIT 0, 50";
//vytvoření sql dotazu
$vysledek = MySQL_Query($dotaz); // provedení sql dotazu

while ($zaznam = MySQL_Fetch_Array($vysledek)){
$jmeno=$zaznam["jmeno"];
$datum=$zaznam["datum"];
$text=$zaznam["text"];

print "<div style='background:#315584; color:white; padding-left:10px'><b>".$jmeno."</b><br><small> [ ".$datum." ]</small></div>";

print "<div style='background:#B5C7DE; margin-bottom:10px; padding-left:10px;'>".$text."</div>";
}
MySQL_Close($pripoj);
?>

</div>
</center>
</body>
</html>

Funkce mysql_fetch_array() načte výsledný řádek do asociativního, číselného pole nebo obojího, pokud není načten žádný řádek vrací funkce FALSE. Můžeme tedy na začátku otestovat, jestli vůbec máme co vypisovat.

Mysql_fetch_array() je rozšířenou verzí mysql_fetch_row(). Navíc jsou zde data uložena v poli nejen pod číselnými klíči, ale také pod asociativními textovými klíči jmenujícími se podle názvu sloupce sql tabulky. Pokud se vyskytnou dva sloupce se stejným názvem, bude brána hodnota jen toho posledního. Ale můžeme si zde vytvořit aliasy a pak pomocí nic pracovat (alias=zástupný název, např. select jmeno j from tabulka, kde jmeno je jméno sloupce a alias je j).

Klientská sekce pro Vás

Spravujte své domény a hosting pohodlně 24 hodin denně

Kontakt pro zákazníky

Technická podpora

PO-PÁ 8:00-18:00

E-mail: podpora@banan.cz 

Příjem dotazů probíhá NONSTOP

Online pracovník

Richard Slipek

+420 608 611 883

Online chat

Zvládáme opensource

Na našich serverech jsme ručně ověřili funkci více než 140 opensource systémů, některé z nich nabízíme na jedno kliknutí v administraci.

Hostované domény

6684 domén 5601 1083

Poslední článek - HOMEPAGE PRVKY

O
Ověřit dostupnost domény
Zákaznické centrum: podpora@banan.cz +420 608 611 883 (PO-PÁ 8:00-18:00)NápovědaBlog
Technická podpora: PO-PÁ 800-1800X
Online pracovník: Richard Slipek
podpora@banan.cz
Online chat nebo +420 608 611 883
Kontaktovat technickou podporu můžete zde
Kontaktovat technickou podporu můžete zde
PO-PÁ 800-1800