Ma quei link che si usano per la paginazione dei risultati, tipo su google... come li posso ricreare?
Leggendo qua e la mi sono imbattuto in una richiesta di qualcuno che aveva necessità di creare questo genere di link, ma cercando su internet non riusciva a trovare nulla di interessante...
Visto che tempo fa ho dovuto creare qualcosa di simile per DelightCMS (che poi è anche la piattaforma che sta sotto la pagina che state leggendo), lo riporto qua sperando possa essere utile a qualcuno:
<?php // $numChildren è il numero di record totali, quelli che vogliamo suddividere in più pagine // $baseLink è l'indirizzo assoluto della pagina $blogPostPerPage = 25; $pageCount = ceil($numChildren / $blogPostPerPage); $jump = false; echo "<div id='paginator'>"; // inseriamo prima di tutto il bottone per tornare indietro di una pagina, se siamo dalla seconda in poi if ($pageNum > 1) { echo $html->link('<< ', $baseLink . ($pageNum-1)); } // qua inizia il lavoro sporco if ($pageCount > 1) { for ($i = 1; $i <= $pageCount; $i++) { // visualizzo i 7 link delle pagine intorno al numero di pagina che sto visualizzando, più il primo e l'ultimo (ok è una spiegazione di merda ma se provi capisci cosa intendo) if (($i <= $pageNum + 7) and ($i >= $pageNum - 7) or ($i == 1) or ($i == $pageCount)) { if ($pageNum == $i) { echo $i; } else { echo $html->link($i, $baseLink . $i); } $jump = false; // non sono nelle condizioni che dicevo prima, quindi metto i puntini e non visualizzo la pagina finchè non si verifica una delle condizioni di cui sopra } else { if ($jump != true) { echo "..."; $jump = true; } } echo " "; } // se non sono all'ultima pagina, visualizzo il link per tornare indietro di una if ($pageNum < $pageCount) { echo $html->link('>>', $baseLink . ($pageNum+1)); } } echo "</div>"; ?>