Ho modificato e usato così tante volte questo script che non ricordo dove ho preso il codice originale
Non me ne voglia l'autore
Ho usato la solita tabella 'listacomuni' per questo esempio
paginazione.php
è sufficente impostare i propri parametri di connessione e la propria tabella per vederne il risultato
poche righe di codice e risultato più che sufficente
Non me ne voglia l'autore
Ho usato la solita tabella 'listacomuni' per questo esempio
paginazione.php
PHP:
// connessione al db
$conn = mysql_connect('localhost', 'root', '', 'criric');
$db = mysql_select_db('criric', $conn);
// imposto il limite di risultati per pagina
$limite_pag = 20;
// verifico che sia settata la pagina da visualizzare
if (isset($_GET['num_pag'])) {
$num_pag = $_GET['num_pag'];
} else {
// altrimenti setto la prima pagina
$num_pag = 1;
}
// imposto il limite minimo da usare nella query
if ($num_pag <= 1) {
$limite_min = 0;
} else {
$limite_min = ($num_pag - 1) * $limite_pag;
}
// imposto il limite massimo sul quale finirà la ricerca
$limite_max = $limite_min + $limite_pag;
// interrogo il database per recuperare il numero totale di record
$query = "SELECT * FROM listacomuni";
$res = mysql_query($query, $conn);
$totali = mysql_num_rows($res);
// interrogo il database per recuperare la lista dei record fornendo limite minimo e limite per pagina
$query = "SELECT * FROM listacomuni LIMIT $limite_min,$limite_pag";
$res = mysql_query($query, $conn);
// se il limite massimo supera i record totali lo fermo al numero di record totali
if ($totali <= $limite_max) {
$limite_max = $totali;
}
// informo sulla ricerca
echo"da ";
echo $limite_min + 1;
echo" a $limite_max risultati su $totali";
echo"<br/><br/>";
// recupero il numero di pagine totali
$pagine = ceil($totali / $limite_pag);
// creo dei pulsanti per andare avanti e indietro nelle pagine
// pulsante indietro
$indietro = $num_pag - 1;
echo " <input ";
if ($num_pag <= 1)
echo "disabled = 'disabled'";
// da cambiare la destinazione della location
echo "class='min' type='button' onclick='javascript:location.href=\"paginazione.php?pag&num_pag=$indietro\"' value='<'/> ";
$avanti = $num_pag + 1;
// select con il numero di pagine
// da cambiare la destinazione della location
echo "<select onchange='javascript:location.href=\"paginazione.php?num_pag=\"+this.value+\"\"'>\n";
for ($i = 1; $i <= $pagine; $i++) {
echo "<option value='$i' ";
if ($i == $num_pag)
echo "selected='selected'";
echo ">$i</option>\n";
}
echo "</select>";
// pulsante avanti
echo " <input ";
if ($num_pag >= $pagine)
echo "disabled = 'disabled'";
// da cambiare la destinazione della location
echo "class='min' type='button' onclick='javascript:location.href=\"paginazione.php?num_pag=$avanti\"' value='>'/>";
echo " Totale pagine $pagine";
echo"<br/><br/>";
// stampo i risultati
for ($i = 0; $i < mysql_num_rows($res); $i++) {
$comune = mysql_result($res, $i, 'comune');
echo $comune . "<br/>";
}
if(mysql_num_rows($res) == 0) {
echo "Nessun risultato";
}
è sufficente impostare i propri parametri di connessione e la propria tabella per vederne il risultato
poche righe di codice e risultato più che sufficente