ciao il problema sta in questo codice
Codice PHP:
$messaggi = 2;
$pagine = ceil ( $n_commenti / $messaggi );
$num=1;
// estraggo i record
if ( ! isset ( $_GET['pag'] ) || (int)$_GET['pag'] < 1 ) {
$_GET['pag'] = $num;
}
if ( isset ( $_GET['pag'] ) && (int)$_GET['pag'] > $pagine ) {
$_GET['pag'] = $pagine;
}
$pagcommenti= "<div class=\"tornasu\" id=\"noprint\">";
for ( $i=1; $i <= $pagine;$i++ ) {
if($i == (int)$_GET['pag']) {
$pagcommenti .= "[b]" . $i . "[/b] ";
}
else{
$pagcommenti .="<a href=\"pillole.php?art=" . $pag . "&pag=" . $i . "#commenti\">" . $i . "</a> ";
}
}
$pagcommenti .= " | <a href=\"http://www.atuttascienza.altervista.org/pillole/pillole.php?art=" . $pag . "&pag=all#commenti\">Mostra tutti</a></div> ";
// -------------fine paginazione commenti -------------------------------------------------------------------------------------------------
echo $pagcommenti;
echo "<div class=\"corp\"><div class=\"cont2\">[b]Commenti: $n_commenti[/b]</div>";
if ($_GET['pag']="all"){
$query ="SELECT nome_utente, messaggio,page, date_format(data_ora, 'in data <span class=\"nomeutente\">%d/%m/%Y</span> - <span class=\"nomeutente\">ore %H:%i:%s</span>') as data_formattata FROM commenti WHERE page=$pag order by data_ora DESC";
}
else{
$query ="SELECT nome_utente, messaggio,page, date_format(data_ora, 'in data <span class=\"nomeutente\">%d/%m/%Y</span> - <span class=\"nomeutente\">ore %H:%i:%s</span>') as data_formattata FROM commenti WHERE page=$pag order by data_ora DESC LIMIT " . ( ( (int)$_GET['pag'] - 1 ) * $messaggi ) . "," . $messaggi;
}
$risultato = mysql_query( $query );
creo una paginazione numerica e dico al php di prelevarmi tot di commenti per ogni pagina tramite il limit
ho creato anche la variabile "all" per dire che se pag=all allora mostra tutti i commenti quindi è una query senza limit però non funziona...
da precisare che la paginazione quindi la query con il limit senza la if per la variabile all funziona...