Ciao ragazzi ho un problema con la paginazione presa quì da html.it
Praticamente conta in modo corretto i record e mi restituisce il giusto numero di pagine però non mi visualizza l'ultimo record!!
Cioè se metto che voglio 6 record per pagina e nella conta ce ne sono 6,mi restituisce 1 sola pagina ma mi estrae solo 5 record!! se però metto un altro record e diventano 7 a questo punto mi crea 2 pagine e quello me lo visualizza nella seconda...Qual è la causa??
il codice che utilizzo è il seguente:
Codice PHP:
$count = mysql_query("SELECT 1, COUNT(*)
FROM messaggio_privato
WHERE esiste IN(1,3)
AND id_utente_ric=$id_utente
AND evidenza IN (0,1)
AND iniziale = 1
UNION
SELECT 2, COUNT(*)
FROM messaggio_privato
WHERE esiste IN(1,2)
AND id_utente_sender=$id_utente
AND evidenza IN (0,2)
AND iniziale = 1
");
while($row = mysql_fetch_row($count)) {
$num[] = $row[1];
}
$tot_records = array_sum($num);
echo" il numero dei messaggi è: $tot_records";
// risultati per pagina(secondo parametro di LIMIT)
$per_page =3;
// numero totale di pagine
$tot_pages = ceil($tot_records / $per_page);
echo" il numero delle pagine è: $tot_pages";
// pagina corrente
$current_page = (!isset($_GET['page'])) ? $pag = 1 : $pag = $_GET['page'];
if(!is_numeric($pag)) {
echo "Messaggio di errore";
exit; // blocchi l'esecuzione del resto dello script
}
// primo parametro di LIMIT
$primo =(($current_page-1) * $per_page);
<table width="650" border="1" bordercolor="#0066CC">
<tr>
<?php
// includiamo uno dei files contenenti la paginazione
include("paginazione_1.php");
// in questa cella inseriamo la paginazione
echo " <td align=\"center\">$paginazione</td>";
echo " </table>";