Kod
<?php
$polaczenie=mysql_connect('','','')
or die('');
mysql_select_db('')
or die('');
$czas=mktime();
$ip=$_SERVER['REMOTE_ADDR'];
$staryczas=mktime()-86400;
$zapytanie=mysql_query("DELETE FROM dzis WHERE czas<'$staryczas'");
$link=mysql_query("SELECT ip FROM dzis WHERE ip='$ip'");
$ile=mysql_num_rows($link);
if($ile==0)
{
mysql_query("INSERT INTO dzis VALUES(NULL,'$ip','$czas')");
}
else
{
mysql_query("UPDATE dzis SET czas='$czas' WHERE ip='$ip'");
}
$link=mysql_query("SELECT * FROM dzis");
$ile=mysql_num_rows($link);
echo '<b>'.$ile.'</b>';
?>
$polaczenie=mysql_connect('','','')
or die('');
mysql_select_db('')
or die('');
$czas=mktime();
$ip=$_SERVER['REMOTE_ADDR'];
$staryczas=mktime()-86400;
$zapytanie=mysql_query("DELETE FROM dzis WHERE czas<'$staryczas'");
$link=mysql_query("SELECT ip FROM dzis WHERE ip='$ip'");
$ile=mysql_num_rows($link);
if($ile==0)
{
mysql_query("INSERT INTO dzis VALUES(NULL,'$ip','$czas')");
}
else
{
mysql_query("UPDATE dzis SET czas='$czas' WHERE ip='$ip'");
}
$link=mysql_query("SELECT * FROM dzis");
$ile=mysql_num_rows($link);
echo '<b>'.$ile.'</b>';
?>
Czy ten kod jest optymalny? Gromadzi mi się w tabeli od 2300 do 2700 rekordów, więc obrót danych jest trochę duży.
Czy da się jakoś jeszcze zoptymalizować ten kod, by zżerał mniej zasobów konta na hostingu współdzielonym?
Demo działania jest na http://www.gigadownload.net.pl w panelu Statystyki (po prawej).
Pozdrawiam