Statistiky v PHP 3. díl – Získání celkového počtu přístupů za poslední dny

Třetí díl našeho seriálu přímo navazuje na díl druhý. Řekneme si, jak budeme ukládat proměnné do tabulky „prehled“ – tím získáme přehled o celkovém počtu zobrazených stránek za každý den, kdy naše statistiky běžely. Navíc si přidáme do naší databáze nové tabulky, ze kterých při vypisování budeme moci vyčíst měsíční a roční statistiky.
Třetí díl našeho seriálu přímo navazuje na díl druhý. Řekneme si, jak budeme ukládat proměnné do tabulky „prehled“ – tím získáme přehled o celkovém počtu zobrazených stránek za každý den, kdy naše statistiky běžely. Navíc si přidáme do naší databáze nové tabulky, ze kterých při vypisování budeme moci vyčíst měsíční a roční statistiky.

Pro souhrnné statistické údaje je vždy nejlepší, když si utvoříme více tabulek, do kterých započítáme určité přístupy za daný časový úsek. Tabulku pro celkový přehled dnů („prehled“) již máme vytvořenou, nyní přidáme další – tabulky „mesic“ a „rok“.

CREATE TABLE mesic (
  id int(11) NOT NULL auto_increment,
  stranek int(11) NOT NULL,
  datum text NOT NULL,
  time int(11) NOT NULL,
  PRIMARY KEY (id),
  KEY id (id)
);

CREATE TABLE rok (
  id int(11) NOT NULL auto_increment,
  stranek int(11) NOT NULL,
  datum text NOT NULL,
  time int(11) NOT NULL,
  PRIMARY KEY (id),
  KEY id (id)
);

Tabulky jak ve své struktuře, tak i v tom, jaká data do nich budeme ukládat, jsou naprosto identické; jediná věc, kde najdeme rozdíl, bude v ukládání do pole „datum“ – v tabulce „mesic“ totiž uložíme datum ve formátu mm.YYYY a v tabulce „rok“ bude stačit pouze YYYY.

Zdrojový kód z tohoto článku si celý uložte do souboru prehled.php. Aby vše fungovalo tak, jak má, musíte tento kód

include("prehled.php");

vložit do souboru s názvem count.php na jakékoliv místo za připojení do databáze. Osobně bych raději doporučoval vložit kód na konec skriptu pro lepší orientaci.

A zde je zdrojový kód:

<?

/* ukladame do tabulky prehled - nejdrive overime existenci dnesniho datumu */
$datum_prehled = Date("d.m.Y");
$vysledek=mysql_query("select * from prehled where datum=`$datum_prehled`");
$pocet=mysql_num_rows($vysledek);

/* presny cas posledniho pristupu */
$time = Time();
if ($pocet=="0") {
mysql_query("insert into prehled values(``, `1`, `$datum_prehled`, `$time`)");
}
else {
mysql_query("update prehled set stranek=stranek+1, time=`$time` where datum=`$datum_prehled`");
}

/* stejne tak ukladame do tabulky mesic */
$mesic_prehled = Date("m.Y");
$vysledek=mysql_query("select * from mesic where datum=`$mesic_prehled`");
$pocet=mysql_num_rows($vysledek);
if ($pocet=="0") {
mysql_query("insert into mesic values(``, `1`, `$mesic_prehled`, `$time`)");
}
else {
mysql_query("update mesic set stranek=stranek+1, time=`$time` where datum=`$mesic_prehled`");
}

/* posledni ulozeni je do tabulky rok */
$rok_prehled = Date("Y");
$vysledek=mysql_query("select * from rok where datum=`$rok_prehled`");
$pocet=mysql_num_rows($vysledek);
if ($pocet=="0") {
mysql_query("insert into rok values(``, `1`, `$rok_prehled`, `$time`)");
}
else {
mysql_query("update rok set stranek=stranek+1, time=`$time` where datum=`$rok_prehled`");
}

?>

Tímto kódem jsme ukončili celý proces vkládání záznamu do databáze. Ve zdrojovém kódu je vždy nastavena proměnná ($datum_prehled, $mesic_prehled, $rok_prehled) k určitému vyhledání nebo zapsání nového záznamu. To nám umožňuje vždy zjistit, jestli určitý den, měsíc nebo rok již existují v databázi, a podle toho použít různé SQL příkazy.

Skript uvedený v tomto článku slouží pouze pro zápis počtu přístupů – jedná se o slabší variantu počítání, a proto nemáte k dispozici všechny údaje. Jestliže budete chtít statistiky co nejlepší a chtěli byste se zpětně podívat do předchozích dnů, měsíců či roků, jakého jste dosáhli počtu unikátních IP adres, přečtěte si další díl s pořadovým číslem 4.

Váš názor Další článek: Stanovisko Computer Pressu k výpadku systému Mr.Lin(x)

Témata článku: Software, PHP, Programování, Statistika, Nota, Select, Získání, Poslední den, Přístup, Time, From, Elsa, Díl


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

Google dosáhl revolučního milníku v kvantové nadvládě. IBM ale nesouhlasí

Google dosáhl revolučního milníku v kvantové nadvládě. IBM ale nesouhlasí

** Google představil nový kvantový čip s 53 qubity ** Oznámil, že díky němu lidstvo poprvé dosáhlo kvantové nadvlády ** IBM toto tvrzení zlehčuje

Karel Javůrek | 15

Nejlepší notebooky do 20 000 Kč. Tipy, co se dnes vyplatí koupit

Nejlepší notebooky do 20 000 Kč. Tipy, co se dnes vyplatí koupit

** S cenou do 20 tisíc lze vybrat solidní notebook na práci i hry ** Přenosné notebooky nabídnou i kovová těla a rychlý hardware ** Na hraní se hodí více peněz, ale na použitelný základ dvacet tisíc stačí

Tomáš Holčík, David Polesný | 47

Co všechno se spouští se startem Windows a proč by vás to mělo zajímat

Co všechno se spouští se startem Windows a proč by vás to mělo zajímat

** Společně s operačním systémem se spouští řada aplikací a služeb ** Mohou mít negativní dopad na celkovou dobu startu Windows ** Jak získat kontrolu nad automaticky spouštěnými programy?

Karel Kilián | 57

Jak funguje kontroverzní program, který ženám krade plavky. Mají se čeho bát?

Jak funguje kontroverzní program, který ženám krade plavky. Mají se čeho bát?

** Strojové učení ještě nepřitáhlo takový zájem jako na začátku prázdnin ** Ne, umělá inteligence nenašla lék na rakovinu ** Naučila se svlékat ženy nejen z plavek

Jakub Čížek | 35

Wi-Fi 6 konečně začíná dostávat smysl. Poradíme, jak ji využít

Wi-Fi 6 konečně začíná dostávat smysl. Poradíme, jak ji využít

** Na trh míří první levné Wi-Fi 6 routery ** Nabídka zařízení, zejména notebooků, každý den roste ** Poradíme, jak nejlépe přejít s domácností na Wi-Fi 6

Tomáš Holčík | 28

Nejlepší příslušenství k počítači. Tipy na osvědčené klávesnice, tiskárny, routery…

Nejlepší příslušenství k počítači. Tipy na osvědčené klávesnice, tiskárny, routery…

** Tipy na klávesnice, myši, routery, tiskárny, sluchátka a další věci k počítačům ** Poradíme, s jakými produkty neuděláte chybu ** Vybíráme jak příslušenství na běžnou práci, tak na hraní her

David Polesný | 20


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