Frågan#1
Jag har ETT problem som kvarstår. Jag vill skriva ut:
Aktiva besökare: antal st
Totalt: antal st
Här är php-koden.
<?php
// Konfiguration
$dbhost = "xxx"; // MySQL host
$dbuser = "xxx"; // MySQL Användarnamn
$dbpass = "xxx"; // MySQL Lösenord
$dbname = "xxx"; // Databasnamn
$timesession=1200; //Antagen sessionstid
$timestamp=time(); // Aktuell inloggningstid
$today=date("d"); // Dagens nummer (0-31)
$ip = substr($REMOTE_ADDR, 0, strrpos($REMOTE_ADDR,"."));
// Ansluter till MySQL Databasen
$conn = mysql_connect($dbhost,$dbuser,$dbpass) or exit(mysql_error());
$rs=mysql_select_db($dbname,$conn) or die('Anslutningen till databasen fungerar ej!');
$sql=('select * from usercountertoday'); // Hämtar data ifrån tabellen
$rs=mysql_query($sql, $conn) or die ('Anslutningen till den specifika databastabellen fungerar ej!');
if (mysql_num_rows($rs) !== 0)
{
while($data=mysql_fetch_array($rs)) // Lägger datan i en array
{
$ipcheck=$data[0]; // Hämtar ip-nummer
$timecheck=$data[2]; // Hämtar inloggningstid
$hitcheck=$data[3]; // Hämtar antalet träffar
if($ip==$ipcheck) // Kontrollerar om besökande ip är identiskt med tidigare ip
{
if(time()>$timecheck+$timesession) // Kontrollerar så det gått t.ex. 20 minuter mellan inloggningarna
{
$hit=$hitcheck+"1"; // Lägger till en träff
$sql=("update usercountertoday set time='$timestamp', hits='$hit' where ipnr='$ip'"); // Uppdaterar raden där ip-nummret överensstämmer
$res=mysql_query($sql, $conn) or die ('Anslutningen vid uppdatering av databasen fungerar ej!');
}
}
else
{
$newhit="1"; // Om ip inte överensstämmer
$sql=("insert into usercountertoday (ipnr,day,time,hits) values ('$ip','$today','$timestamp','$newhit')"); // Lägger till ny rad med info
$res=mysql_query($sql, $conn) or die ('Anslutningen vid skrivning till databasen fungerar ej!');
}
}
}
else
{
$newhit="1"; // Om ip inte överensstämmer
$sql=("insert into usercountertoday (ipnr,day,time,hits) values ('$ip','$today','$timestamp','$newhit')");
$res=mysql_query($sql, $conn) or die ('Anslutningen vid skrivning till databasen fungerar ej!'); // Lägger till ny rad med info
}
// Kontrollerar datum på usercountertoday & total
$totalhit = mysql_query('select sum(hits) as tothit from usercountertoday');
$count = mysql_result($totalhit, 0); // Beräknar hur många träffar som finns registrerade i usercountertoday
$result = mysql_query('select * from usercountertotal'); // Hämtar dag och totala träffar i usercountertotal
$col = mysql_fetch_array($result, MYSQL_NUM);
$totalday = $col[0];
$totalsum = $col[1];
if ($totalday != $today) // Om dagens datum, radera today samt total
{
mysql_query("delete from usercountertoday where day='$totalday'");
mysql_query("delete from usercountertotal where day='$totalday'");
$totalsum += $count;// Summerar träffarna ifrån total och today
mysql_query("insert into usercountertotal(day,total) values('$today','$totalsum')"); // Lägger in aktuell dag och nya träffar i total
}
mysql_free_result($result);
mysql_close();
?>