ELEKTRO
CHEMIE
PHP
FOTKY

PHP

  • Novinky
  • Aktuality
  • PHP
  • Download
  • Odkazy
  • Anketa
  • Návštěvní kniha
  • Mapa webu
  • O webu
  • RSS

  • © by Hugo z_moravec (et) yahoo (dot) com

    Počítadlo přístupů využívající MySQL 2

    Počítadlo popsané v předchozím článku toho moc neumělo. V tomto článku se pokusím trochu rozšířit jeho schopnosti.

    Pro statistiku je důležité vědět nejenom kolik lidí naše stránky navštíví celkem, ale i jaká byla návštěvnost v jednotlivých dnech.

    Tabulka bude trochu složitější, protože potřebujeme víc řádků, je vhodné definovat primární klíč.

    CREATE TABLE `counter_mysql2` (
      `ID` int(10) unsigned NOT NULL auto_increment,
      `Date` date NOT NULL,
      `Count` int(11) NOT NULL,
    PRIMARY KEY (`ID`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;
    

    První sloupec (ID) je primární klíč, ve druhém sloupci budou uchovávána data dnů a ve třetím počet přístupů v daný den.

    Při vkládání záznamů do tabulky budeme muset vyřešit následující problém. Protože každý den má svůj řádek, musíme ověřit, jestli se jedná o první zápis v daný den nebo ne. To by samozřejmě šlo udělat pomocí jednoduchého SQL dotazu, ale tím by se počítadlo zbytečně zpomalilo. Lepší taktikou je pokusit se nejdřív o update sloupce. Po updatu zkontrolujeme počet ovlivněných řádků.[1]  Pokud bude roven nule, znamená to, že řádek s dnešním datem ještě v tabulce neexistuje, proto ho musíme vytvořit pomocí příkazu INSERT.

    // PŘIČTENÍ NOVÉHO PŘÍSTUPU
    $updt = MySQL_Query('UPDATE `counter_mysql2`
                         SET `Count` = `Count` + 1
                         WHERE `Date` = NOW()');
    if (MySQL_Affected_Rows() == 0)
    {
      MySQL_Query('INSERT INTO `counter_mysql2` (`Date`, `Count`) VALUES (NOW(), 1)'); }

    Poslední částí skriptu je zobrazování uložených údajů. Nejčastěji potřebujeme zjistit buď počet přístupů v aktualním dni nebo celkový počet přístupů. K tomu slouží následující dva příkazy.

    // ZJIŠTĚNÍ POČTU PŘÍSTUPŮ ZA DNESEK
    $res = MySQL_Query('SELECT `Count`
                        FROM `counter_mysql2`
                        WHERE `Date` = NOW()');
    $data = MySQL_Fetch_Assoc($res);
    
    // ZJIŠTĚNÍ CELKOVEHO POČTU PŘÍSTUPŮ
    $res = MySQL_Query('SELECT Sum(`Count`) AS `Sum`
                        FROM `counter_mysql2`');
    $data2 = MySQL_Fetch_Assoc($res);
    

    Celý skript je zde.

    Zobrazení údajů uložených v tabulce

    Vypsání přehledné tabulky obsahující údaje uložené v databázi je velmi jednoduché. Stačí k tomu jeden SQL příkaz.

    $res = MySQL_Query("SELECT Date_Format(`Date`, '%d.%m %Y') AS `Date`, `Count`
                        FROM `counter_mysql2`
                        ORDER BY `ID` DESC");
    

    Pomocí SQL funkce Date_Format[2]  zformátujeme datum do požadovaného tvaru. Výsledky budeme řadit podle primárního klíče, tak aby se nahoře zobrazoval nejnovější údaj. Zpracování dat získaných z MySQL je jednoduché. Příklad jednoduchého skriptu je zde.


    LICENCE

    Všechny skripty na tomto webu jsou poskytovány, pokud není uvedeno jinak, bez jakýchkoliv licenčních požadavků a také bez záruk.


    FORMÁT PRO TISK    

    Poslední změna: 06.07. 2006 20:23

    Líbí se Vám tento článek?