Laskuri etsii ensin taulusta ip numerollasi että oletko käynyt 30 minuuttia sitten viimeksi täällä jos olet niin se lisää kertoihin +1 ja muuttaa viimeksi tulo aikaasi nyky aikaan. Jos et ole niin laskuri lisää ip numerosi tauluun ja nyky ajan koska olet tullut ja koska kävit viimeksi.
<? //Lisää tämä sivulle jossa haluat laskurin sijaitsevan include('laskuri.php'); ?>
yhteys.php
<? $yhteys = mysql_connect("localhost","xxx","xxx") or die("Yhdistäminen ei onnistunut");; mysql_selectdb("xxx") or die ("Virhe yhdistettäessä tietokantaan"); ?>
laskuri.php
<?php include('yhteys.php'); $tunnistus_aika = 3600; // 1 Tunti $ip = $_SERVER['REMOTE_ADDR']; $query = mysql_query("SELECT ip, DATE_FORMAT(first_load, '%d.%m.%Y %H:%i:%s') as ekalataus, DATE_FORMAT(last_load, '%d.%m.%Y %H:%i:%s') as vikalataus FROM counter WHERE ip='$ip' AND (".time()." - UNIX_TIMESTAMP(last_load)) < {$tunnistus_aika}",$yhteys) or die("Eka ei onnistunut");; if(mysql_num_rows($query) < 1){ mysql_query("INSERT INTO counter (ip, first_load, last_load, lataukset) VALUES ('$ip', NOW(), NOW(), 1)",$yhteys);} else { mysql_query("UPDATE counter SET last_load = NOW(), lataukset = lataukset + 1 WHERE ip='$ip' AND (".time()." - UNIX_TIMESTAMP(last_load)) < {$tunnistus_aika}",$yhteys);}} ?>
Tällä saat taulun lisätty mysql:ään
CREATE TABLE `counter` ( `id` int(11) NOT NULL auto_increment, `ip` varchar(20) NOT NULL, `first_load` datetime NOT NULL, `last_load` datetime NOT NULL, `lataukset` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=12 ;
Aihe on jo aika vanha, joten et voi enää vastata siihen.