<?php
/*Skrypt pochodzi z książki "PHP. 101 praktycznych skryptów"
  autor: Marcin Lis                    http://marcinlis.com*/
$maxItems = 20;

function printIPRank()
{
  $ip = $_SERVER['REMOTE_ADDR'];
  $maxItems = $GLOBALS['maxItems'];

  if(!$link = mysql_connect("localhost", "test", "test")){
    //echo("Problem z połączeniem z bazą danych.");
    return false;
  }
  if(!mysql_select_db("test")){
    mysql_close($link);
    //echo("Problem z połączeniem z bazą danych.");
    return false;
  }

  $query = "SELECT COUNT(IP) AS COUNT FROM HITSCOUNT WHERE IP='$ip'";

  if(!$result = mysql_query($query)){
    //echo("Problem z bazą danych: odrzucone zapytanie");
    mysql_close($link);
    return false;
  }

  $row = mysql_fetch_row($result);

  if($row[0] == 0){
    $query = "INSERT INTO HITSCOUNT (IP, COUNT) VALUES ('$ip', 1)";
  }
  else{
    $query = "UPDATE HITSCOUNT SET COUNT = COUNT + 1 WHERE IP='$ip'";
  }

  if(!$result = mysql_query($query)){
    //echo("Problem z bazą danych: odrzucone zapytanie");
    mysql_close($link);
    return false;
  }

  $query = "SELECT IP, COUNT FROM HITSCOUNT ORDER BY COUNT DESC ";
  $query .= "LIMIT $maxItems";

  if(!$result = mysql_query($query)){
    //echo("Problem z bazą danych: odrzucone zapytanie");
    mysql_close($link);
    return false;
  }

  echo "<table border=\"1\">";
  echo "<tr><td colspan=\"3\">";
  echo "Najczęstsze odwołania (max $maxItems)";
  echo "</td></tr>";

  $iter = 1;
  while($row = mysql_fetch_array($result)){
    echo "<tr><td>";
    echo $iter++;
    echo "</td><td>";
    echo $row[0];
    echo "</td><td>";
    echo $row[1];
    echo "</td></tr>";
  }
  echo "</table>";
  mysql_close($link);
  return true;
}

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<title>Ranking adresów</title>
</head>
<body>
<div>
<?php if(!printIPRank()) echo "Lista nie jest dostępna."; ?>
</div>
</body>
</html>
