Salve a tutti, programmo in php da un pò, ma ancora non riesco a far funzionare l'impaginazione.
Ho usato degli scipt d'impaginazione trovati sul fantastico sito html.it
La select funziona perfettamente. La prima volta mi mostra correttamente i dati da 1 a 10 cliccando sul link successiva però non mi mostra cio che dovrebbe.
Questo è il file paginazione_1.php
<?php
if($current_page == 1) { // se siamo nella prima pagina
$precedente = "<< precedente";
} else { // altrimenti
$previous_page = ($current_page - 1);
$precedente = "<a href=\"?page=$previous_page\" title=\"Vai alla pagina precedente\"><< precedente</a>";
}
if($current_page == $tot_pages) { // se siamo nell'ultima pagina
$successiva = "successiva >>";
} else { // altrimenti
$next_page = ($current_page + 1);
$successiva = "<a href=\"?page=$next_page\" title=\"Vai alla pagina successiva\">successiva >></a>";
}
$paginazione = "$precedente $successiva";
?>
Mentre questo è il mio file che effettua una ricerca per lettera dell'alfabeto:
<?php
$utility = $_GET['lettera'];
//file per la connessione al DB
include ('conf.inc.php');
// esecuzione prima query
$count = mysql_query("SELECT COUNT(*) FROM $tab_riviste WHERE utility='$utility'");
$res_count = mysql_fetch_row($count);
// numero totale di records
$tot_records = $res_count[0];
// risultati per pagina(secondo parametro di LIMIT)
$per_page = 10;
// numero totale di pagine
$tot_pages = ceil($tot_records / $per_page);
// pagina corrente
$current_page = (!$_GET['page']) ? 1 : (int)$_GET['page'];
// primo parametro di LIMIT
$primo = ($current_page - 1) * $per_page;
$da = ($primo +1);
$dove = ($per_page+$primo);
<table>
<TR>
<TD VALIGN=top COLSPAN=3 WIDTH=602>
Visualizza i record da $da a $dove
di $tot_records record trovati</P>
</TD>
</TR>
echo "<div align=\"center\">\n<table>\n";
// esecuzione seconda query con LIMIT
$query_limit = mysql_query("SELECT * FROM $tab_riviste WHERE utility='$utility' LIMIT $primo, $per_page");
while($results = mysql_fetch_array($query_limit)) {
$testata = $results['testata'];
$posseduto = $results['posseduto'];
$web = $results['web'];
$posseduto_elettronico = $results['posseduto_elettronico'];
$carta = $results['carta'];
$online = $results['online'];
$matricola = $results['matricola'];
echo <<<EOD
<TR>
<TD COLSPAN=3 WIDTH=602>
<UL>
<LI>$testata
EOD;
}
// includiamo uno dei files contenenti la paginazione, commentate l'altro ovviamente
include("paginazione_1.php");
//include("paginazione_2.php");
// in questa cella inseriamo la paginazione
echo " <tr>\n <td height='50' valign='bottom' align=\"center\">$paginazione</td>\n";
echo " </tr>\n</table>\n</div>";
mysql_close($connessione);
?>
Cosa cè di sbagliato???
Qualcuno sarebbe così gentile da aiutarmi???
Grazie a tutti.
Vi saluto, ciao