|
![]() |
|
||||
|
|
|
Statistika přístupů v PHP – koláčové
grafy Na závěr celého seriálu již jen 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. Vzhledem k tomu, že se jedná o poslední díl
celého seriálu, budete si moci kompletní zdrojové kódy
stáhnout. Všechny podstatné věci týkající se vytvoření grafů pomocí aplikace JpGraph byly popsány v minulém dílu. Jelikož zdrojové kódy jsou dostatečně okomentované, nebudu se již více rozepisovat. Rozlišení (resolution.php)
include("db.php");
// připojení k databázi include("../function.php"); // obsahuje funkci WinIso() // načtení souborů nutných pro vytvoření grafu include("../jpgraph.php"); include("../jpgraph_pie.php"); $sql_access_date = StripSlashes(URLDecode($sql_access_date)); // datum // vybíráme rozlišení podle jejich zastoupení $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"); while($result = MySQL_Fetch_Array($query)): $data[] = $result["count_it"]; // počet přístupů s jednotlivými typy rozlišení $legend[] = $result["screenres"] . ' (' . $result["count_it"] . ')'; // legenda (+ hodnoty) endwhile; // koláčový graf (velikost) $graph = new PieGraph(400,250); $graph->SetShadow(); // stín grafu $graph->SetColor("linen"); // barva pozadí grafu // titulek (font) $graph->title->Set(Win_Iso("Rozlišení")); $graph->title->SetFont(FF_FONT2,FS_BOLD); // koláčový graf $p1 = new PiePlot($data); $p1->SetLegends($legend); // legenda $p1->SetCenter(0.25, 0.50); // pozice koláče $p1->value->SetFormat("%.2f%%"); // formát popisku u částí koláče $p1->SetSize(0.37); // velikost koláče // přidej graf $graph->Add($p1); // zobraz graf $graph->Stroke(); Barevná hloubka (depth.php)
include("db.php");
// připojení k databázi include("../function.php"); // obsahuje funkci WinIso() // načtení souborů nutných pro vytvoření grafu include("../jpgraph.php"); include("../jpgraph_pie.php"); include("../jpgraph_pie3d.php"); $sql_access_date = StripSlashes(URLDecode($sql_access_date)); // datum // vybíráme barevné hloubky podle jejich zastoupení $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"); while($result = MySQL_Fetch_Array($query)): $data[] = $result["count_it"]; // počet přístupů s jednotlivými typy barevné hloubky $legend[] = $result["description"]; // legenda endwhile; // koláčový graf (velikost) $graph = new PieGraph(400,200); $graph->SetShadow(); // stín grafu // titulek (font) $graph->title->Set("Barevná hloubka"); $graph->title->SetFont(FF_FONT2,FS_BOLD); // 3D koláčový graf $p1 = new PiePlot3D($data); $p1->SetLegends($legend); // legenda $p1->SetCenter(0.25, 0.50); // pozice koláče $p1->SetAngle(45); // úhel koláče //$p1->SetEdge("black", 1); // okraje částí koláče // přidej 3D koláčový graf $graph->Add($p1); // zobraz graf $graph->Stroke(); Ikona se statistickými údaji (graph_counter.php) 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 visits a obyčejným písmem počet shlédnutých stránek (pageviews). 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. Výsledkem pak může být následující ikona. <img src="graph_counter.php" width="88" height="31"
border="0" alt="Dnešní statistika">
Skript vytvářející ikonu se statistikou vložíme do souboru graph_counter.php. 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 třetí řádek a knihovnu načíst "ručně". Pokud však chcete používat aplikaci JpGraph, je lepší upravit soubor php.ini tak, aby GD knihovna byla načtena trvale. Stačí, když na řádku ;extension=php_gd.dll odstraníte počáteční středník. Header("Content-type:
image/png");
// výstup je PNG obrázek include("db.php"); // připojení k databázi //dl("php_gd.dll"); // načte GD knihovnu 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 shlédnutých stran a počet visits. $today = Date("Y-m-d");
$sql_access_date = "access_date >= '$today' AND access_date <= '$today 23:59:59'"; // PAGEVIEWS - shlédnuté stránky $query = MySQL_Query("SELECT count(*) FROM access WHERE $sql_access_date"); $result = MySQL_Fetch_Array($query); $pageviews = $result["count(*)"]; // VISITS $query = MySQL_Query("SELECT count(*) FROM access WHERE visit = 1 AND $sql_access_date"); $result = MySQL_Fetch_Array($query); $visits = $result["count(*)"]; Jako podklad použijeme obrázek counter.png. Na něj poté pomocí funkce ImageString(obrázek, font, souřadnice x, souřadnice y, text, barva) vypíšeme oba získané údaje. // IKONA $img = ImageCreateFromPNG("counter.png"); // vytvoří obrázek podle původního obrázku $textcolor = ImageColorAllocate($img, 0, 64, 128); // barva textu ImageString($img, 3, 60, 0, $visits, $textcolor); // vypíše visits ImageString($img, 2, 60, 15, $pageviews, $textcolor); // vypíše pageviews ImagePNG($img); Instalace Statistiky přístupů
<script language="JavaScript"
type="text/javascript">
<!-- document.write("<img src=\"__vas_server__/counter.php?referer=" + escape(top.document.referrer) + "&screenres=" + screen.width + "x" + screen.height + "&colordepth=" + screen.colorDepth + "\" width=\"1\" height=\"1\" alt=\"\">"); // --> </script> <noscript> <img src=" vas_server__/counter.php" width="1" height="1" alt="" border="0"> </noscript> Doufám, že vám statistika přístupů bude dobře sloužit. Případnou kritiku či náměty na vylepšení uvítám v diskusi pod článkem. Předchozí díly:Statistika přístupů v PHP – sloupcové grafyStatistika přístupů v PHP – kalendář Statistika přístupů v PHP – hodinová a denní návštěvnost Statistika přístupů v PHP – regionální lokalizace Statistika přístupů v PHP – domény nejvyšší úrovně Statistika přístupů v PHP – vyhledávací fráze Statistika přístupů v PHP – odkud přicházejí návštěvníci Statistika přístupů v PHP – rozlišení a barevná hloubka Statistika přístupů v PHP – detekce operačního systému Statistika přístupů v PHP – detekce prohlížeče Statistika přístupů v PHP – počet unikátních návštěvníků Michal Kebrt (23.9.
2002) |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| © Zoner software, s.r.o., všechna práva vyhrazena, tento server dodržuje právní předpisy o ochraně osobních údajů. |