L'applicazione di esempio realizzata, scaricabile a questo link, si occupa di mostrare l'elenco dei comuni italiani, ordinati per nome e codice ISTAT (codice numerico univoco). I dati vengono prelevati da un'unica tabella, che è possibile creare e popolare utilizzando lo script SQL contenuto nell'archivio ZIP dell'applicazione. Nel nostro esempio mostreremo tutti i dati presenti nella tabella dei comuni, pertanto non ci saranno clausole WHERE nelle SELECT.
Il programma è costituito da 3 file: il template HTML, lo script principale che estrae i dati dal database e uno script contenente tre funzioni utili alla creazione dei link di navigazione. Questi saranno nella forma:
« 1...n-2 n-1 [n] n+1 n+2 ... N »
ovvero conterranno sempre un link alla prima e all'ultima pagina (1 e N). Inoltre conterranno l'indicazione della pagina corrente racchiusa tra parentesi quadre [n] e dei link alle pagine che precedono e seguono la pagina corrente. Il numero di questi link a pagine limitrofe sarà configurabile. Infine ci saranno anche dei link alla pagina precedente e successiva, indicati dai simboli « e ».
Iniziamo ad analizzare il codice dell'applicazione, partendo dal template HTML, riportato di seguito:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Elenco Comuni Italiani</title>
</head>
<body>
<h1>Elenco Comuni Italiani</h1>
<p><?php echo $link_paginazione?></p>
<table border="1">
<tr>
<th>COMUNE</th>
<th>PROVINCIA</th>
<th>REGIONE</th>
<th>CAP</th>
<th>PREFISSO TEL.</th>
<th>CODICE COMUNE</th>
<th>CODICE ISTAT</th>
</tr>
<?php foreach($elenco_comuni as $riga):?>
<tr>
<td><?php echo htmlentities($riga['comune'])?></td>
<td><?php echo $riga['provincia']?></td>
<td><?php echo $riga['regione']?></td>
<td><?php echo $riga['cap']?></td>
<td><?php echo $riga['prefisso']?></td>
<td><?php echo $riga['cod_comune']?></td>
<td><?php echo $riga['cod_istat']?></td>
</tr>
<?php endforeach ?>
</table>
<p><?php echo $link_paginazione?></p>
</body>
</html>
Come si può notare, il template HTML impiegato è davvero molto semplice. Il riempimento della tabella dei dati è affidato ad un ciclo foreach mentre l'HTML che costituisce i link di paginazione, riportati al di sopra ed al disotto della tabella, viene incluso nel template leggendo la variabile $link_paginazione, creata nello script PHP principale, riportato nella pagina seguente.