|
||||||||||||||||||||||||||||||||||||||||||||||||
Menu
Distributions (131)
Software (10844)
|
PHP (39) - Zobrazujeme a stránkujeme dataVybrat data z MySQL už umíme. Jak je ale hezky prezentovat?
V minulém dílu našeho seriálu jsme se zabývali otázkou výběru dat z MySQL pomocí příkazu SELECT. Umět data správně vybrat není ale to jediné - my je musíme uživateli rovněž v nějaké čtivé podobě naservírovat. Dnes si ukážeme, jak na to. StránkujemeZkuste na chvíli zavzpomínat na předchozí díl našeho seriálu. Tam jsme si pořídili databázi všech obcí a jejich PSČ v České republice. Dejme tomu, že budeme chtít všechny obce a jejich PSČ nějak vypsat. Asi první, co Vás napadne, bude: <? a jistě by to fungovalo, ovšem narážíme zde na vážné problémy s
výkonem. Tabulka obcí má totiž více než 16000 řádků. Kdybyste něco
takového napsali a zkusili spustit, může dojít k následujícím problémům:
Podobným lapáliím se můžeme vyhnout, jestliže budeme výpisy výsledné sady záznamů stránkovat. Naštěstí MySQL obsahuje šikovné rozšíření příkazu SELECT, které nám umožní vrátit část sady záznamů danou prvním řádkem a počtem. S úspěchem používám následující kód: <? Ukázat celý skript | Spustit skript Všimněte si rozšíření LIMIT příkazu SELECT. Umožňuje nám vrátit
řádky "počínaje nějakým" a jen "určitý počet". Celý skript funguje
následovně:
Zbytek skriptu je pouhá matematika; zmíním se jen o tom, že příkaz
"Konec" nezobrazí posledních ROWS záznamů, ale jen zbytek. Například
máme-li celkem 230 záznamů a krok 100, nezobrazí se nakonec záznamy
131-230, ale 201 až 230. Chování stránkování si můžete upravit, běžně se místo
textu používají grafické symboly a počet záznamů na stránce je
nastavovací. Je rovněž možné posílat parametry pomocí metody POST, nebo
je možné skript upravit a použít jako include soubor na více místech. Pozn.: Samozřejmě, že úplně
nejlepší je rozsáhlé sady záznamů ve skriptech nemít. Někdy se tomu ale
nevyhnete. Prezentace dat pomocí tabulekZatím jsme při vypisování dat do prohlížeče používali jen echo a <BR>. To asi v reálné aplikaci stačit nebude. Poměrně časté je vypisovat sady záznamů do tabulek. Není to vůbec složité a vlastně to již umíme <TABLE> protože kód PHP se s HTML může proplétat. Kvalitní materiál pro
studium tvorby tabulek máme na našem serveru díky seriálu
Pavla Káchy, takže se tam můžete podívat. Často se dělá to, že se sudé a liché řádky v databázi odliší jinou barvou pozadí. Což není problém - můžeme si například zavést logickou proměnnou a přepínat její hodnotu mezi TRUE a FALSE a podle toho pak řádek obarvovat: <? Ukázat celý skript | Spustit skript To má ale jednu zásadní nevýhodu - každý druhý tag <TR> má
atribut bgcolor, což neúměrně nafukuje zdrojový kód. Nezapomeňme, že
zdrojový kód se musí do prohlížeče natáhnout chtěnechtě celý. Asi
nejefektivnější řešení by bylo použít kaskádové styly. O tom se zase na
Linuxsoftu dočtete zde.
Princip prolínání kódu by byl stejný. V dalším díle seriálu si řekneme něco o tom, jak v databázi MySQL s daty pomocí PHP manipulovat. To znamená nejen je číst, ale i zapisovat.
|
Search Software
Search Google
|
||||||||||||||||||||||||||||||||||||||||||||||
©Pavel Kysilka - 2003-2024 | maillinuxsoft.cz | Design: www.megadesign.cz |