
Vi voglio rendere partecipi di questa creazione, ecco il codice:
Per iniziare ho creato la funzione che calcola il totale delle pagine in base al numero di record e alle news per pagina.
function calcolaTotPagine($totaleRecord, $totaleNewsPerPagina)
{
$resto = $totaleRecord % $totaleNewsPerPagina;
return(intval($totaleRecord / $totaleNewsPerPagina) + ($resto>0 ? 1 : 0));
}Dopo ho creato la funzione che mostra il numero delle pagine.
function mostraPagine($totRecord, $pagina, $newsPerPagina)
{
$totPagine = calcolaTotPagine($totRecord, $newsPerPagina);
$inizioCont=$pagina-2;//($inizioCont<1 ? $inizioCont=1 : null);
$fineCont=$pagina+2;//($fineCont>$totPagine ? $fineCont=$totPagine : null);
echo '<div class="elencoPagine">';
if($pagina!=1)
{
echo '<span class="elencoPagineNum floatSinistra"><a href="./?sezione=news&pag='.($pagina-1).'">&lt; '.traduci('Prec.').'</a></span>';
echo '<span class="elencoPagineNum"><a href="./?sezione=news&pag=1">&lt;&lt; '.traduci('Prima pagina').'</a></span>';
}
for($i=$inizioCont; $i<=$fineCont; $i++)
{
echo '<span class="elencoPagineNum">';
if($i>=1 && $i<=$totPagine)
{
if($i!=$pagina)
echo '<a href="./?sezione=news&pag='.$i.'">';
echo $i;
if($i!=$pagina)
echo '</a>';
}
echo '</span>';
}
if($pagina!=$totPagine)
{
echo '<span class="elencoPagineNum"><a href="./?sezione=news&pag='.$totPagine.'">'.traduci('Ultima pagina').' &gt;&gt;</a></span>';
echo '<span class="elencoPagineNum floatDestra"><a href="./?sezione=news&pag='.($pagina+1).'">'.traduci('Succ.').' &gt;</a></span>';
}
echo '</div>';
}A questo punto basta richiamare la funzione mostraPagine() per visualizzare il numero di pagine.
mostraPagine($result->num_rows, $pagAttuale, $totNewsPerPagina);Ovviamente sarà sufficiente creare un foglio di stile adatto per formattare la visualizzazione delle pagine ed il gioco è fatto!