Codice PHP:
<?php
echo "<head><title>Paginazione PHP + Access</title>
</head>
<body bgcolor=#FFFFFF text=#000066 link=#000066 vlink=#000066 alink=#000066>
";
$rec_pagina = 4; // questo valore sta ad indicare quanti record vuoi per pagina
if (!isset($start)) $start = 0; // setta a 1 il punto di partenza della selezione
$dsn="tuo_dsn";
$utente="nome_utente";
$password="tua_password";
$conn=odbc_connect("$dsn","$utente","$password")
or die ("Connessione al DB impossibile");
$Query_Str="SELECT campo1,campo2,campo3 FROM tabella";
$Query_totale=odbc_exec($conn,$Query_Str)
or die ("Query non effettuata");
for ($num_totale=1;odbc_fetch_row($Query_totale,$num_totale);$num_totale++);
// due parole...
echo "<center>
<font color=90000 face=Arial, Helvetica, sans-serif size=5>
[b]Il nostro catalogo[/b]</font>
";
//arrotonda al numero intero + alto riferito al risultato della divisione
//per calcolare il numero totale delle pagine da visualizzare
$numero_pagine = round($num_totale/$rec_pagina);
// calcola il numero della pagina corrente
$pagina_corrente= round(($start/$rec_pagina)+1);
if ($numero_pagine>0)
{
echo "<font color=90000 face=verdana size=2>Pagina $pagina_corrente di $numero_pagine</font>
";
}
else
{
die ("<hr><font color=90000 face=verdana size=3>[b]Nessun elemento inserito[/b]</font>
<hr>");
}
echo "</center>
";
// stampo l'inizio della tabella che mostrerà il tutto
echo "<table width=100% border=1 cellspacing=2 cellpadding=3 bordercolor=#FFFFFF>";
$riga=$start+4;
for ($num_totale=1;odbc_fetch_row($Query_totale,$num_totale);$num_totale++)
{
$arr_campo1[$num_totale]=odbc_result($Query_totale,1);
$arr_campo2[$num_totale]=odbc_result($Query_totale,2);
$arr_campo3[$num_totale]=odbc_result($Query_totale,3);
$campo1=$arr_campo1[$num_totale];
$campo2=$arr_campo2[$num_totale];
$campo3=$arr_campo3[$num_totale];
if ($num_totale<=$riga and $num_totale>$start)
{
echo "
<tr bgcolor=#000066>
<td colspan=2><font face=Arial, Helvetica, sans-serif size=3 color=#FFFFFF>[b]$campo1[/b]</font></td>
</tr>";
echo "
<tr bgcolor=#FFFFFF><td width=50%><font face=Arial, Helvetica, sans-serif size=2 color=#000066>$campo2</font></td>";
echo "
<tr bgcolor=#FFcc00><td width=50%><font face=Arial, Helvetica, sans-serif size=2 color=red>$campo3</font></td>";
} // fine if
} // fine for
;
echo "</table>";// chiusura tabella
echo "<center>";
if ($numero_pagine > 1) { //inizio della condizione per creare l'elenco delle pagine
for ($pagina = 1; $pagina <= $numero_pagine; $pagina++) {
echo "[ <a href=?";
echo "start=".(($pagina-1)*$rec_pagina).
" title=\"Vai a pagina $pagina\">".$pagina."</a> ] ";
}
} // fine "elenco"
echo "</center>";
echo "
";
odbc_close($conn);
?>