Statistiky v PHP 5. díl – Vypsání získaných údajů do prohlížeče

Pátý díl našeho seriálu je věnován vypsání získaných dat o návštěvnících a jejich činnosti na webu přímo z našich tabulek do prohlížeče.
Pátý díl našeho seriálu je o vypsání dat přímo z našich tabulek do prohlížeče, jelikož je skript příliš dlouhý, tak si dnes vypíšeme jednu polovinu a v příštím díle druhou.

Skript si nazvěte stat.php a umístěte do něj tento zdrojový kód:

<?
$server = "localhost";
$login = "";
$pass = "";
$database = "statistiky";

mysql_connect($server, $login, $pass);
mysql_select_db($database);

// do $prumer zapise pocet zobrazenych stranek na 1 IP
$aktualni_rok = Date("Y");
$vysledek=mysql_query("select * from rok where datum=`$aktualni_rok`");
while ($zaznam = MySQL_Fetch_Array($vysledek)):

$ip = $zaznam["lidi"];
$stranek = $zaznam["stranek"];
$prumer = $stranek/$ip;

endwhile;


// do promennych zapise prumerny pocet zobrazenych stranek a IP adres
$vysledek=mysql_query("select * from prehled order by time DESC LIMIT 0,100");
while ($zaznam = MySQL_Fetch_Array($vysledek)):

$lidi_stat = $zaznam["lidi"];
$stranek_stat = $zaznam["stranek"];

$pocet_dnu = MySQL_Num_Rows($vysledek);

$lidi_stat2 = $lidi_stat2+$lidi_stat;
$lidi_stat_final = Round($lidi_stat2/$pocet_dnu);

$stranek_stat2 = $stranek_stat2+$stranek_stat;
$stranek_stat_final = Round($stranek_stat2/$pocet_dnu);

endwhile;


// zapise dnesni pocet zobrazenych stranek a IP adres
$aktualni_datum = Date("d.m.Y");
$vysledek=mysql_query("select * from prehled where datum=`$aktualni_datum`");
while ($zaznam = MySQL_Fetch_Array($vysledek)):

$ip_dnes = $zaznam["lidi"];
$stranek_dnes = $zaznam["stranek"];

endwhile;

if ($ip_dnes=="") {
$ip_dnes="0";
}
if ($stranek_dnes=="") {
$stranek_dnes="0";
}

// zjisti nejlepsi den nasich stranek
$aktualni_datum = Date("d.m.Y");
$vysledek=mysql_query("select * from prehled order by stranek DESC");
while ($zaznam = MySQL_Fetch_Array($vysledek)):

$ip_up = $zaznam["lidi"];
$stranek_up = $zaznam["stranek"];
$datum_up = $zaznam["datum"];

endwhile;


// vypise tabulku s udaji, ktere jsme zjistili pomoci skriptu nad timto textem
echo "<table width=700 border=1 align=CENTER>";
echo "<tr bgcolor=#CCCCCC><td colspan=2><font size=2 face=Verdana><b>Souhrnné roční statistiky</b></font></td></tr>";
echo "<tr><td><b><font size=2 face=Verdana>Zobrazených stránek na IP (za rok $aktualni_rok)</font></b></td><td><font size=2 face=Verdana>$prumer</font></td></tr>";
echo "<tr><td><b><font size=2 face=Verdana>Průměrný denní počet IP (za posledních 100 dní)</font></b></td><td><font size=2 face=Verdana>$lidi_stat_final</font></td></tr>";
echo "<tr><td><b><font size=2 face=Verdana>Průměrný denní počet zobrazených stránek (za posledních 100 dní)</font></b></td><td><font size=2 face=Verdana>$stranek_stat_final</font></td></tr>";
echo "<tr><td><b><font size=2 face=Verdana>Dnešní počet IP</font></b></td><td><font size=2 face=Verdana>$ip_dnes</font></td></tr>";
echo "<tr><td><b><font size=2 face=Verdana>Dnešní počet zobrazených stránek </font></b></td><td><font size=2 face=Verdana>$stranek_dnes</font></td></tr>";
echo "<tr><td colspan=2><div align=CENTER><b><font size=2 face=Verdana>Nejúspěšnější den - $datum_up - $ip_up IP - $stranek_up přístupů</font></div></td></tr>";
echo "</table><br>";

// vybere z tabulky den poslednich 20 navstevniku nasich stranek a rovnou je vypise
$vysledek=mysql_query("select * from den order by cas DESC LIMIT 0,20");

echo "<table width=700 border=1 align=CENTER>";
echo "<tr bgcolor=#CCCCCC><td colspan=7><font size=2 face=Verdana><b>Posledních 20 návštěvníků</b></font></td></tr><tr bgcolor=#CCCCCC><td width=100><font face=Verdana><b><font size=2>IP</font></b></font></td><td width=95><font face=Verdana><b><font size=2>Doména</font></b></font></td><td width=158><font face=Verdana><b><font size=2>Počet přístupů</font></b></font></td><td width=158><font face=Verdana><b><font size=2>Referer</font></b></font></td><td width=23><b><font size=2 face=Verdana>Prohlížeče</font></b></td><td width=190><b><font size=2 face=Verdana>Operační systém</font></b></td><td width=190><font face=Verdana><b><font size=2>Poslední přístup</font></b></font></td></tr>";

while ($zaznam = MySQL_Fetch_Array($vysledek)):
$ip_den = $zaznam["ip"];
$domena_den = $zaznam["domena"];
$referer_den = $zaznam["referer"];

if ($referer_den=="") {
$referer_den = "<font size=2 face=Verdana>Přímé volání</font>";
}

$browser_den = $zaznam["browser"];
$system_den = $zaznam["system"];
$cas_den = $zaznam["cas"];
$cas_den = Date("d.m.Y H:i", $cas_den);;
$pristupy_den = $zaznam["pristupy"];

echo "<tr><td width=100><font size=2 face=Verdana>$ip_den</font></td><td width=95><font size=2 face=Verdana>$domena_den</font></td><td width=158><font size=2 face=Verdana>$pristupy_den</font></td><td width=158><font size=2 face=Verdana>$referer_den</font></td><td width=23><font size=2 face=Verdana>$browser_den</font></td><td width=190><font size=2 face=Verdana>$system_den</font></td><td width=190><font size=2 face=Verdana>$cas_den</font></td></tr>";

endwhile;
echo "</table><br>";

// vypise nejvice zobrazovane stranky
$vysledek=mysql_query("select * from stranky order by zobrazeni DESC LIMIT 0,15");

echo "<table width=700 border=1 align=CENTER>";
echo "<tr bgcolor=#CCCCCC><td colspan=2><font size=2 face=Verdana><b>Nejvíce zobrazované stránky</b></font></td></tr>";
echo "<tr bgcolor=#CCCCCC><td><font face=Verdana><b><font size=2>Stránka</font></b></font></td><td><font face=Verdana><b><font size=2>Počet zobrazení</font></b></font></td></tr>";

while ($zaznam = MySQL_Fetch_Array($vysledek)):
$stranka_stranky = $zaznam["stranka"];
$zobrazeni_stranky = $zaznam["zobrazeni"];

echo "<tr><td><font size=2 face=Verdana>$stranka_stranky</font></td><td><font size=2 face=Verdana>$zobrazeni_stranky</font></td></tr>";

endwhile;
echo "</table><br>";
?>

Tato první část skriptu vypisuje tři tabulky. První zahrnuje souhrnné roční statistiky, kde najdeme údaje jako počet zobrazených stránek na jednu IP adresu, průměrný denní počet stránek, průměrný denní počet IP adres, počet zobrazených stránek a IP adres k aktuálnímu dni a nejúspěšnější den stránek včetně údajů, které dosáhly. Druhá tabulka má za úkol vypsat dvacet posledních návštěvníků včetně všech jejich údajů, které jsme o nich zjistili. Třetí tabulka zobrazuje nejúspěšnější stránky, které uživatel vašich stránek zobrazil.

Příště si ukážeme pokračování tohoto skriptu.

Diskuze (1) Další článek: Produkty Intelu budou pod značkou Samsung

Témata článku: Software, PHP, Prohlížeče, Programování, Statistika, Díl, Prohlížeč, From, Order, Echo, Získané údaje, Login, Údaj, Pass, Poslední den, Select


Určitě si přečtěte

Google Coral: Raspberry Pi s čipem, který zpracuje 4 biliony operací za sekundu

Google Coral: Raspberry Pi s čipem, který zpracuje 4 biliony operací za sekundu

** Je to velké jako Raspberry Pi ** Ale je to až o několik řádů rychlejší ** Dorazil nám exotický Google Coral s akcelerátorem Edge TPU

Jakub Čížek | 18

Co je TikTok: Svérázná sociální síť chytla mladé uživatele, už jich má už 1,5 miliardy

Co je TikTok: Svérázná sociální síť chytla mladé uživatele, už jich má už 1,5 miliardy

** Sociální síť TikTok získala stamiliony uživatelů a stále roste ** Jaký obsah na ní najdete a co můžete v jejím rámci čekat? ** Je to zábava pro mladé, nebo platforma pro úchyláky?

Karel Kilián | 34


Aktuální číslo časopisu Computer

Megatest: 20 powerbank s USB-C

Test: mobily do 3 500 Kč

Radíme s výběrem routeru

Tipy na nejlepší vánoční dárky