Scripts
Unieke statistieken
Maak volgende tabel aan: CREATE TABLE `statistieken` ( `id` INT( 11 ) NOT NULL AUTO_INCREMENT, `ipaddrs` TEXT NOT NULL , `datum` VARCHAR( 10 ) NOT NULL , PRIMARY KEY ( `id` ) ); include mkstats.php op elke pagina. klaar.
unieke-statistieken
-- database.php --
<?
if (!mysql_select_db("database_naam", mysql_connect("localhost", "dbuser", "dbpass")))
{
echo "geen database connectie.";
exit();
}
?>
-- mkstats.php --
<?
//-----------------------------//
// auth: Bas Kreleger //
// desc: unique ip adresses //
// file: mkstats.php //
//-----------------------------//
//-- require db connectie
require("database.php");
//-- set table
$stat_table = "statistieken";
//-- get ips from db
$cur_datum = date("d.m.Y");
$stat_sql = "SELECT ipaddrs,datum FROM " . $stat_table . " WHERE datum = '" . $cur_datum . "'";
$stat_res = mysql_query($stat_sql) or die(mysql_error());
//-- check for result
if (mysql_num_rows($stat_res) >= 1)
{
$stat_ipaddrs = mysql_result($stat_res, 0);
$stat_datum = mysql_result($stat_res, 0);
}
//-- set vars to create new record
else
$stat_empty = 1;
//-- check for result ip addrs
if (!$stat_empty)
{
//-- get single ip
$ipaddr = explode(",", $stat_ipaddrs);
//-- loop trough ips and match
for ($i = 0; $i < count($ipaddr); $i++)
{
if ($_SERVER['REMOTE_ADDR'] == $ipaddr[$i])
$norec = 1;
}
}
//-- no match, execute sql
if (!$norec)
{
//-- create new record
if ($stat_empty == 1)
$stat_sql = "INSERT INTO " . $stat_table . " (id,ipaddrs,datum) VALUES ('','" . $_SERVER['REMOTE_ADDR'] . "','" . $cur_datum . "')";
//-- update with new ip addr
else
{
$newips = $stat_ipaddrs . "," . $_SERVER['REMOTE_ADDR'];
$stat_sql = "UPDATE " . $stat_table . " SET ipaddrs = '" . $newips . "' WHERE datum = '$cur_datum'";
}
mysql_query($stat_sql) or die(mysql_error());
}
?>
-- stats.php --
<?
//-----------------------------//
// auth: Bas Kreleger //
// desc: unique ip adresses //
// file: stats.php //
//-----------------------------//
//-- require db connectie
require("database.php");
//-- set table
$stat_table = "statistieken";
// post
if (!$_POST['submit'])
{
$dedatum = date('m.Y');
$smm = date('m');
$syy = date('Y');
}
else
{
$dedatum = $_POST['mm'] . "." . $_POST['yy'];
$smm = $_POST['mm'];
$syy = $_POST['yy'];
}
// get data
$sql = "SELECT ipaddrs,datum FROM " . $stat_table . " WHERE SUBSTRING(datum, 4, 7) = '" . $dedatum . "' ORDER BY id";
$res = mysql_query($sql);
// show form
echo "<form method=\"post\" action=\"" . $_SERVER['PHP_SELF'] . "\">";
echo "Selecteer een datum:<br>";
echo "<i>Toon statistieken van </i>";
echo "<select name=\"mm\">";
// januari
if ($smm == "01")
echo "<option value=\"01\" selected>Jan</option>";
else
echo "<option value=\"01\">Jan</option>";
// februari
if ($smm == "02")
echo "<option value=\"02\" selected>Feb</option>";
else
echo "<option value=\"02\">Feb</option>";
// maart
if ($smm == "03")
echo "<option value=\"03\" selected>Mar</option>";
else
echo "<option value=\"03\">Mar</option>";
// april
if ($smm == "04")
echo "<option value=\"04\" selected>Apr</option>";
else
echo "<option value=\"04\">Apr</option>";
// mei
if ($smm == "05")
echo "<option value=\"05\" selected>Mei</option>";
else
echo "<option value=\"05\">Mei</option>";
// juni
if ($smm == "06")
echo "<option value=\"06\" selected>Jun</option>";
else
echo "<option value=\"06\">Jun</option>";
// juli
if ($smm == "07")
echo "<option value=\"07\" selected>Jul</option>";
else
echo "<option value=\"07\">Jul</option>";
// augustus
if ($smm == "08")
echo "<option value=\"08\" selected>Aug</option>";
else
echo "<option value=\"08\">Aug</option>";
// september
if ($smm == "09")
echo "<option value=\"09\" selected>Sep</option>";
else
echo "<option value=\"09\">Sep</option>";
// oktober
if ($smm == "10")
echo "<option value=\"10\" selected>Okt</option>";
else
echo "<option value=\"10\">Okt</option>";
// november
if ($smm == "11")
echo "<option value=\"11\" selected>Nov</option>";
else
echo "<option value=\"11\">Nov</option>";
// december
if ($smm == "12")
echo "<option value=\"12\" selected>Dec</option>";
else
echo "<option value=\"12\">Dec</option>";
echo "</select> ";
echo "<select name=\"yy\">";
for ($i = 2003; $i <= 2030; $i++)
{
if ($syy == $i)
echo "<option value=\"" . $i . "\" selected>$i</option>";
else
echo "<option value=\"" . $i . "\">" . $i . "</option>";
}
echo "</select> ";
echo "<input type=\"submit\" value=\"tonen\" name=\"submit\">";
echo "</form><p>";
// show result or no result
echo "<table border=1 cellspacing=0 cellpadding=5>";
echo "<tr>";
echo "<th>url</th>";
echo "<th>views</th>";
echo "</tr>";
if (mysql_num_rows($res) >= 1)
{
while ($row = mysql_fetch_array($res))
{
$row[ipaddrs] = explode(",", $row[ipaddrs]);
$totips = count($row[ipaddrs]);
echo "<tr>";
echo "<td>" . $totips . "</td>";
echo "<td>" . $row['datum'] . "</td>";
echo "</tr>";
}
}
else
{
echo "<tr><td colspan=\"2\"><i>Er zijn geen statistieken bekend van </i><b>" . $dedatum . "</b>.</td></tr>";
}
echo "</table>";
?>
Reacties
0