questa è la prima parte della paginazione, il calcolo di come devono essere impostati i valori
Codice PHP:
//-->recuperi tramite querystring il numero della pagina
$pag $_GET['pag'];
//-->se la pagina non è valorizzata
if (!isse($pag)){
//--> la setti a 1
$pag=1;
}
//-->conti le righe che sono presenti nel database, le stesse che stamperai a video nella tabella
$count mysql_query("SELECT COUNT(id) FROM nome_tabella");$res_count mysql_fetch_row($count);
//<--
$tot_records $res_count[0];
//-->inserisci in una variabile il numero di pagine che vuoi visualizzare ogni volta
$per_page 20;
<--
//-->esegui il calcolo per le pagine totali che avrai
$tot_pages ceil($tot_records $per_page);
//<--
//-->selezioni la pagina corrente nel quale sei
$current_page = (!$_GET['page']) ? : (int)$_GET['page'];
<--
//-->inserisci nella variabile il primo valore del LIMIT
$primo = ($current_page 1) * $per_page
questa è l'aultima parte, ossia quella dei link
Codice PHP:
//-->stampi a video il numero delle pagine totali
$paginazione "Pagine totali: " $tot_pages "
["
;
//ciclo per il numero delle pagine totali
for($i 1$i <= $tot_pages$i++) {
//se la pagina corrente è uguale al valore dell'incrementatore i
if($i == $current_page) {
//rendi il numero non cliccabile (se vuoi puoi cambiiarli colore etc...)
$paginazione .= $i " ";
} else {
//altrimenti crei il link per andate alla pagina successiva
$paginazione .= "<a href=\"?pag=$i\" title=\"Vai alla pagina $i\">$i</a> ";
}
}
$paginazione .= "]"
ora , tu hai bisogno che ogni volta che il ciclo errettua 3 giri vada a capo...
quindi se i = 3 carichi una variabili $acapo=
e la imposti a fianco del link...
ma come possiamo ? la i vrà valore 3 una volta sola.
Mi viene in mente di usare il resto...
4/3 da resto sarà circa 1.x
6/3 da resto 0
9/3 da resto 0
10/3 daraà resto 3.x
Ora non so come sia la funzione per il resto in
potresti fare una cosa del genere :
Codice PHP:
$variabile=3;
$acapo="";
//ciclo per il numero delle pagine totali
for($i 1$i <= $tot_pages$i++) {
//-->crei il modulo resto se non erro si fa con %
$resto $i%$variabile;
if (
$resto == 0){
$acapo "
"
;
}else{
$acapo="";
}
//se la pagina corrente è uguale al valore dell'incrementatore i
if($i == $current_page) {
//rendi il numero non cliccabile (se vuoi puoi cambiiarli colore etc...)
$paginazione .= $i " ";
} else {
//altrimenti crei il link per andate alla pagina successiva
$paginazione .= "<a href=\"url_della_pagina?pag=$i\" title=\"Vai alla pagina $i\">$i</a>$acapo
}

spero sia corretto , ma il ragionamento ci può stare