<meta http-equiv='pics-label' content='(pics-1.1 "http://www.icra.org/ratingsv02.html" comment "ICRAonline EN v2.0" l gen true for "http://interval.cz" r (nz 1 vz 1 lz 1 oz 1 cz 1) "http://www.rsac.org/ratingsv01.html" l gen true for "http://interval.cz" r (n 0 s 0 v 0 l 0))' />
<h2>Statistika p°φstup∙ v PHP - kolßΦovΘ grafy</h2>
<p id='prepend'>V tomto Φlßnku budeme pokraΦovat v prßci s grafy. Vytvo°φme dva kolßΦovΘ grafy, zachycujφcφ statistiku jednotliv²ch typ∙ rozliÜenφ a barevnΘ hloubky. Krom∞ toho se dozvφte, jak vytvo°it ikonu znßzor≥ujφcφ poΦet shlΘdnut²ch stran.</p>
<p>VÜechny podstatnΘ v∞ci, t²kajφcφ se vytvß°enφ graf∙ pomocφ knihovny <strong>JpGraph</strong>, byly popsßny v <a href='http://interval.cz/clanek.asp?article=1485' title='Kebrt, Michal: Statistika p°φstup∙ v PHP - sloupcovΘ grafy'>p°edchßzejφcφm Φlßnku</a>. Jeliko₧ zdrojovΘ k≤dy jsou dostateΦn∞ okomentovanΘ, nebudu se ji₧ vφce rozepisovat. (K dispozici je vßm i <a href='http://php.interval.cz/kebrt/interval_counter/stat.php'>ukßzka aplikace</a>, m∞°φcφ statistiky p°φstup∙ strßnek <a href='http://www.czechia.cz/help/'>http://www.czechia.cz/help/</a>, ovÜem bez zde popisovan²ch graf∙.)</p>
<br /> <span class='comment'>// vybirame rozliseni podle jejich zastoupeni</span>
<br /> $query = mysql_query("SELECT screenres, count(*) AS count_it FROM resolution, access WHERE resolution.id = resolution AND $sql_access_date GROUP BY resolution ORDER BY count_it DESC");
<br />
<br /> while ($result = mysql_fetch_array($query)) {
<br /> $data[] = $result['count_it']; <span class='comment'>// pocet pristupu s jednotlivymi typy rozliseni</span>
<br /> <span class='comment'>// vybirame barevne hloubky podle jejich zastoupeni</span>
<br /> $query = mysql_query("SELECT description, count(*) AS count_it FROM colordepth, access WHERE colordepth.id = colordepth AND $sql_access_date GROUP BY colordepth ORDER BY count_it DESC");
<br />
<br /> while ($result = mysql_fetch_array($query)) {
<br /> $data[] = $result['count_it']; <span class='comment'>// pocet pristupu s jednotlivymi typy barevne hloubky</span>
<h3>Ikona se statistick²mi ·daji (graph_counter.php)</h3>
<p>Touto ikonou se rozumφ mal² obrßzek (88 x 31 px), na kterΘm je zobrazena dennφ statistika strßnek - tuΦn²m pφsmem poΦet <em>visits</em> a obyΦejn²m pφsmem poΦet shlΘdnut²ch strßnek (<em>pageviews</em>). Pokud chcete tuto ikonu vlo₧it n∞kam do sv²ch strßnek, aby nßvÜt∞vnφci m∞li p°ehled o nßvÜt∞vnosti, m∙₧ete pou₧φt tento kratiΦk² HTML k≤d:</p>
<p>Skript vytvß°ejφcφ ikonu se statistikou vlo₧φme do souboru <em>graph_counter.php</em>. Proto₧e v²stupem bude obrßzek, musφme pou₧φt p°φsluÜnou hlaviΦku, v naÜem p°φpad∞ to je formßt PNG. Pokud nemßte GD knihovnu, kterß slou₧φ pro prßci s grafikou, naΦtenou neustßle, musφte odkomentovat Φtvrt² °ßdek nßsledujφcφ ukßzky a knihovnu naΦφst "ruΦn∞". Pokud vÜak chcete pou₧φvat knihovnu JpGraph, je lepÜφ upravit soubor <em>php.ini</em> tak, aby GD knihovna byla naΦtena trvale. StaΦφ, kdy₧ bu∩ na °ßdku <samp>;extension=php_gd.dll</samp> nebo <samp>;extension=php_gd2.dll</samp> odstranφte poΦßteΦnφ st°ednφk.</p>
<div class='sample'>
header('Content-type: image/png'); <span class='comment'>// vystup je PNG obrazek</span>
<p>V dalÜφ Φßsti musφme urΦit obdobφ, pro kterΘ se statistika bude vytvß°et. NejlepÜφ bude na ikon∞ zobrazovat statistiku pro aktußlnφ den. Nßsledn∞ si z databßze vytßhneme poΦet <em>pageviews</em> a poΦet <em>visits</em>. Jako podklad pou₧ijeme obrßzek <em>counter.png</em>, na kter² pomocφ funkce <samp>imagestring</samp> vypφÜeme oba zφskanΘ ·daje.</p>
<p><span class='note-author'>Pozn. aut.: Tento Φlßnek je poslednφ Φßstφ p∙vodnφ sΘrie, proto je zde uveden i odkaz na sta₧enφ hotovΘ aplikace a krßtk² nßvod na jejφ instalaci. Rozhodl jsem se zde tyto ·daje na ₧ßdost Φtenß°∙ doΦasn∞ ponechat - novß verze bude jeÜt∞ pokraΦovat Φlßnky dopl≥ujφcφmi n∞kolik dalÜφch funkcφ - a teprve po ·plnΘm dokonΦenφ je p°esunout do poslednφho Φlßnku sΘrie.</span></p>
<div class='list'>
<ol>
<li><strong>Download</strong> - <a href='podklady/kebrt/50/counter_new.zip'>kompletnφ zdrojovΘ k≤dy</a>, pokud budete chtφt pou₧φvat i grafy, nainstalujte si takΘ knihovnu JpGraph (instalace je popsßna v Φlßnku <a href='http://interval.cz/clanek.asp?article=1209' title='Sobotka, Ji°φ: Profesionßlnφ grafy v PHP snadno a rychle'>Profesionßlnφ grafy v PHP snadno a rychle</a>)</li>
<li><strong>Nastavenφ databßze</strong> - upravte soubor <em>config.php</em></li>
<li><strong>Vytvo°enφ databßzov²ch tabulek</strong> - pomocφ p°φkazu <samp>mysql counter</samp> spus¥te klienta, v n∞m zapiÜte p°φkaz <samp>\. vase_cesta\counter.sql;</samp> (nap°φklad <samp>\. c:\lokal\counter\counter.sql;</samp>), m∙₧ete vÜak pou₧φt i <a href='http://interval.cz/serial.asp?serial=77' title='Interval.cz: Sprßvce pro databßze MySQL - phpMyAdmin'>phpMyAdmin</a></li>
<li><strong>GD knihovna</strong> - pokud nemßte GD knihovnu naΦtenou trvale, odkomentujte v souborech <em>counter.php</em> a <em>graph_counter.php</em> °ßdek <samp>//dl("php_gd.dll");</samp></li>
<li><strong>Nastavenφ statistiky</strong> - v souboru <em>config.php</em> nastavte pot°ebnΘ ·daje</li>
<li><strong>HTML k≤d</strong> - do strßnek, u kter²ch chcete m∞°it statistiku, vlo₧te nßsledujφcφ k≤d (nezapomen≥te upravit cestu k souboru <em>counter.php</em>)
<p><span class='note-redactor'>Pozn. red.: Tento Φlßnek vyÜel poprvΘ 17. 9. 2002. P∙vodnφ verze <a href='podklady/kebrt/50/akt_50_clanek_20020923.zip'>Φlßnku</a> a k n∞mu vedenΘ <a href='podklady/kebrt/50/akt_50_diskuse_20020923.zip'>diskuse</a> jsou vßm k dispozici v ZIP archivech.</span></p>
<div class='page-right-box reading'><h3 title='NejΦten∞jÜφ Φlßnky za poslednφch 7 dn∙'>NejΦten∞jÜφ</h3><div class='page-right-box-in'><ul><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3549'>Hrßtky s okrajem textu v CSS</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3527'>Manußly aneb Jak jsem se nauΦil ned∞lat si starosti a mφt rßd internet</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3528'>PφÜeme pro web - odliÜte se od konkurence</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3546'>Zamezenφ vφcenßsobnΘho odeslßnφ formulß°e JavaScriptem</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3550'>Nßvrh aplikacφ v jazyce UML - textovß specifikace p°φpad∙ u₧itφ</a></li></ul></div></div><div class='page-right-box cauldron'><h3 title='Nejdiskutovan∞jÜφ Φlßnky za poslednφch 21 dn∙'>Diskuznφ kotel</h3><div class='page-right-box-in'><ul><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3533' title='(55 komentß°∙)'>Editory pro webdesignΘry - velk² programßtor</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3529' title='(40 komentß°∙)'>Zaklφnadla na spam</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3527' title='(22 komentß°∙)'>Manußly aneb Jak jsem se nauΦil ned∞lat si starosti a mφt rßd internet</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3517' title='(21 komentß°∙)'>PφÜeme pro web - podle Φeho se zßkaznφci rozhodujφ</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3549' title='(16 komentß°∙)'>Hrßtky s okrajem textu v CSS</a></li></ul></div></div>