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_correnteround(($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 
"[&nbsp<a href=?";
    echo 
"start=".(($pagina-1)*$rec_pagina).
    
" title=\"Vai a pagina $pagina\">".$pagina."</a>&nbsp]&nbsp";
  }
  } 
// fine "elenco"

  
echo "</center>";

echo 
"


"
;
odbc_close($conn);


?>