O problema e o seguinte...
tenho uma pagina que gera alguns resultados de uma busca no bd
<?
require_once('config.php');
require_once('layout.php');
$objDB=start_db();
if(empty($_GET['id']) or !($catNome=$objDB->getOne("SELECT catNome FROM categorias WHERE Id=$_GET[id] LIMIT 1")) )
Header("Location: ".HTTP_INDEX);
$objLay=new Layout(HTML_LAYOUT);
$objCad=$objLay->open(HTML_RANKCATEGORIA);
if(!isset($_GET['n']))
$_GET['n']=0;
$page=$_GET['n']*PAGINA_RESULTADOS;
$arInfo=$objDB->getAll("SELECT cadastros.Id, cadSnome, votos, if(SUM(log.Id)/log.Id>0,SUM(log.Id)/log.Id,0) as Votoshoje, Cliques
FROM cadastros, categorias
LEFT JOIN log ON (log.Id=cadastros.Id)
WHERE cadastros.cadCategoria=categorias.Id and categorias.Id=$_GET[id]
GROUP BY cadastros.Id
ORDER BY votos DESC, Votoshoje DESC
LIMIT $page,".PAGINA_RESULTADOS);
for($n=0;$n<count($arInfo);$n++){
$arInfo[$n]['n']=(string)(($n+1)+($page));
$arInfo[$n][3]=@(string)(int)$arInfo[$n][3];
$arInfo[$n][1]=@htmlspecialchars($arInfo[$n][1]);
}
if($_GET['n']>0)
$objCad->replace_once('ant',$_GET['n']-1);
else
$objCad->remove(0);
$numpages=$objDB->getOne('SELECT if(FLOOR(COUNT(*)/'.PAGINA_RESULTADOS.')=COUNT(*)/'.PAGINA_RESULTADOS.',FLOOR(COUNT(*)/'.PAGINA_RESULTADOS.'),FLOOR(COUNT(*)/'.PAGINA_RESULTADOS.')+1)
FROM cadastros
WHERE cadastros.cadCategoria='.$_GET['id']
);
if($_GET['n']<$numpages-1)
$objCad->replace_once('prox',$_GET['n']+1);
else
$objCad->remove(1);
if($numpages>1){
$objNs=$objCad->get_code(0);
$objNsn=new Layout;
$code='';
for($n=0;$n<$numpages;$n++){
$objNsn->code=$objNs->code;
$objNsn->replace_once('n',$n);
$objNsn->replace_once('m',$n+1);
$code.=$objNsn->code;
}
$objCad->code_replace(0,$code);
}else
$objCad->code_remove(0);
$objCad->replace_once('cat',$catNome);
$objCad->replace_once('id',$_GET['id']);
$objCad->loop_replace('r',$arInfo);
$objLay->make($objCad);
$objDB->disconnect();
?>Esses resultados são impressos em uma página HTML atraves de "variaveis" [1] , [2], (m), [n] que são definidos nessa página que coloquei o codigo ai...
Bom isso funciona normalmente, so que essa página exibe varios resultos e faz uma paginação dos msmos, onde (m) e numero de páginas que existe...
Ate onde eu conseguir enteder isso e feito nesse trecho
$numpages=$objDB->getOne('SELECT if(FLOOR(COUNT(*)/'.PAGINA_RESULTADOS.')=COUNT(*)/'.PAGINA_RESULTADOS.',FLOOR(COUNT(*)/'.PAGINA_RESULTADOS.'),FLOOR(COUNT(*)/'.PAGINA_RESULTADOS.')+1)
FROM cadastros
WHERE cadastros.cadCategoria='.$_GET['id']
);
if($_GET['n']<$numpages-1)
$objCad->replace_once('prox',$_GET['n']+1);
else
$objCad->remove(1);
if($numpages>1){
$objNs=$objCad->get_code(0);
$objNsn=new Layout;
$code='';
for($n=0;$n<$numpages;$n++){
$objNsn->code=$objNs->code;
$objNsn->replace_once('n',$n);
$objNsn->replace_once('m',$n+1);
$code.=$objNsn->code;
}
O problema e que ele gera isso sem nenhum limit
ou seja a paginação fica infinita, se for gerada 5000 paginas ele vai mostrar os 5000 links..
Anterior 1 2 3 4 5 6 7 8 9 .................................................... 5000 Proxima
Ja tentei usar LIMIT na conexão mais deu certo...
so lembrando que outr sistema de paginação eu não posso usar pq senão quebro todo o sistema o site, preciso dar um jeito com esse ai msmo......










