<?php

//$cfg['db'] è il database che usi
//$cfg['user'] utente col quale ti connetti al db
//$cfg['pw_user'] password dell'utente che si connette al db

$connection = mysql_connect($cfg['db'], $cfg['user'], $cfg['pw_user']) or die(mysql_error());
$db = mysql_select_db($cfg['database'], $connection) or die(mysql_error());

(isset($_GET['inizio']) && ereg("^[0-9]",$_GET['inizio']))? $inizio = $_GET['inizio'] : $inizio = 0;
//se $_GET['inizio'] è settata e contiene numeri (il caso in cui selexiona una pagina diversa dalla prima) $inizio è = a $_GET['inizio'] altrimenti $inizio = 0 (cioè la prima pagina)


$sql = "SELECT * FROM ".$database."";
$sql_tot = mysql_query($sql, $connection);
$n_tot = mysql_numrows($sql_tot); //per sapere quanti elementi ci sono nel db
$num_page = ceil($n_tot/$per_pagina); //approssima per eccesso elementi che sono nel db diviso quanti vuoi vederne per pagina

$page_corr = ceil(($inizio/$per_pagina)+1);

//desc ordian in ordine discendente
// LIMIT $a, $b il primo elemento da visualizzare e i successivi $b (questi variano in base alla pagina che vi va a cliccare dal pager < 1 2 3 4 >)
$sql = "SELECT * FROM ".$database." WHERE ORDER BY name DESC LIMIT ".$inizio.",".$per_pagina."";
$sql_result = @mysql_query($sql, $connection) or die(mysql_error());


if ($num_page > 1){ //se c'è più di una pagina allora....

echo "\n\n<div class=\"pager\">\n";
echo "<a href=\"".$_SERVER['PHP_SELF']."?inizio=0\" title=\"vai alla prima pagina\">«</a>\n";
for($pagina = 1; $pagina <= $num_page; $pagina++) {
$next_page = (($pagina - 1)*$per_pagina);
?>
<a <?php if($page_corr == $pagina){echo "id=\"page_now\"";}; ?> href="<?php echo $_SERVER['PHP_SELF']; ?>?inizio=<?php echo $next_page; ?>" title="vai a pagina <?php echo $pagina; ?>"><?php echo $pagina; ?></a>

<?php
}
echo "<a href=\"".$_SERVER['PHP_SELF']."?inizio=".($next_page)."\" title=\"vai all'ultima pagina\">»</a>\n";
echo "</div>\n";
}