beh se tu usi un il metodo get per richiamare le pagine
$pag=$_GET['pag'];
è la tua pagina corrente
per cui
Codice PHP:
$pag=$_GET['pag'];
$var_rw=$pag-3;
$var_fw= $pag+3;
if($pag <= 3){
$var_rw=1;
}
if($pag >= 17){
$var_fw= 20;
}
for ( $i=$var_rw; $i <= $var_fw; $i++ ) {
if($i == (int)$pag) {
$numeri= "[b]" . $i . "[/b] ";
}
else{
$numeri="<a href=\"pagina.php?pag=" . $i . "\">" . $i . "</a> ";
}
echo $numeri;
}
la pagina corrente l'ho formattata in grassetto ma la puoi formattare come più ti piace...
attento però devi porre le condizioni per gli estremi cioè nel momento in cui il numero di pagina è inferiore a 3 o superiore a 17 avrai una situazione di questo tipo
e cioè
esempio
agina uguale a 1...secondo la formula sarà
-2 -1 0 1 2 3 4
e pagina uguale a 19
16 17 18 19 20 21 22
ora a seconda di come vuoi gestire l'estremità devi porre le condizioni...dipende da cosa vuoi far apparire tu...io per esempio ho impostato per i casi limite di far apparire i tre numeri successivi ma di non stampare 0 o numeri negativi o i tre numeri precedenti e di non stampare oltre 20 esempio
pagina 2
sarà
1 2 3 4 5
pagina 18 sarà
15 16 17 18 19 20