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'] < ) {
  
$_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'] - ) * $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...