Buonasera a tutti, sto usando questo codice preso negli articoli di html.it, per effettuare una paginazione:
Codice PHP:
include("../inclusioni/conf.php");
// connessione al database
mysql_connect("$dbhost", "$dbuser", "$dbpass") or die("Connessione fallita !");
// selezione del DB
mysql_select_db("$db") or die("Selezione del DB fallita !");
// esecuzione prima query
$count = mysql_query("SELECT COUNT(id) FROM allegato");
$res_count = mysql_fetch_row($count);
// numero totale di records
$tot_records = $res_count[0];
// risultati per pagina(secondo parametro di LIMIT)
$per_page = 1;
// 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;
echo "<div align=\"center\">\n<table>\n";
// esecuzione seconda query con LIMIT
$query_limit = mysql_query("SELECT id, articolo FROM allegato WHERE id_affiliato ='$id_affiliato' LIMIT $primo, $per_page");
while($results = mysql_fetch_array($query_limit)) {
echo " <tr>\n <td>";
echo "<a href=\"page.php?id=" . $results['id'] . "\">" . $results['id'] . "</a>
";
echo "</td>\n </tr>\n";
}
// 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();
?>
paginazione_1.php
Codice 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&id_affiliato=$id_affiliato\" 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&id_affiliato=$id_affiliato\" title=\"Vai alla pagina successiva\">successiva >></a>";
}
$paginazione = "$precedente $successiva";
?>
Diciamo che funziona, ho solo un problema se un affiliato ha tre articoli, mi fa vedere i tre articoli, però una volta arrivato all'articolo il pulsante "successiva" non dovrebbe essere linkato, ed invece è linkato, penso che il problema sia qui:
$count = mysql_query("SELECT COUNT(id) FROM allegato");
perchè non specifico l'id afiliato, ho provato ad aggiungere WHERE id_affiliato='$id_affiliato', però non mi da il link su "precedente" e "successiva".
Grazie.