atualizando...
a classe:
<?php
/*
Fornece o inicio e o fim para serem utilizados nas querys
*/
class Paginacao{
	var $vinicio;
	var $vfim;
	var $paginaAtual;
	var $posicoes;
	
	/*
	construtura
	*/
	function Paginacao($num_blocos){
  $this->posicoes  = $_REQUEST["posicoes"];
  $pagina    = $_REQUEST["pagina"];
  if(!$pagina)$pagina=1;
  $this->paginaAtual	= $pagina;
  $this->vinicio  = $pagina*$num_blocos-$num_blocos;
  $this->vfim 	 = $pagina*$num_blocos;
	}
	
	/*
	escreve as páginas
	*/
	function Escreve($num_pag,$parametros){
  
  $paginaAtual	= $this->paginaAtual;
  $num_pag  = (int)$num_pag;
  $num_pag  = $num_pag+1;
  $saida 	 = 'Páginas | ';
  $linkSN 	 = array();
  
  if($num_pag>=7){
 	 if($paginaAtual>=4){
    $saida	.= '<a href="?posicoes='.$posicoes.$parametros.'&pagina=1"> 1 </a>| ... | ';
 	 }
 	 
 	 for($i=-2;	$i<=2;	$i++){
    $mostra	= $paginaAtual+$i;
    
    $linkSN	= $this->Compara($mostra,$parametros);
    
    if($mostra>0&&$mostra<=$num_pag){
   	 $saida	.= $linkSN["pre"].$mostra.$linkSN["suf"]." | ";
    }
 	 }
 	 if($paginaAtual<($num_pag-2)){
    $saida	.= ' ... | <a href="?posicoes='.$posicoes.$parametros.'&pagina='.$num_pag.'">'.$num_pag.'</a> |';
 	 }
  }
  else{
 	 for($i=1;	$i<=$num_pag;	$i++){
    $linkSN	= $this->Compara($i,$parametros);
    $saida	.= $linkSN["pre"].$i.$linkSN["suf"]." | ";
 	 }
  }
  return $saida;
	}
	
	/*
	Testa se a pagina escolhida é a pagina atual
	*/
	function Compara($paginaLaco,$parametros){
  $saida 	 = array();
  $paginaAtual	= $this->paginaAtual;
  $posicoes  = $this->posicoes;
  
  if($paginaLaco==$paginaAtual){
 	 $saida["pre"]	= "<b>";
 	 $saida["suf"]	= "</b>";
  }
  else{
 	 $saida["pre"]	= '<a href="?posicoes='.$posicoes.$parametros.'&pagina='.$paginaLaco.'">';
 	 $saida["suf"]	= "</a>";
  }
  
  return	$saida;
	}
}
?>ECEMPLO:
<?php
global	$ConfigOtr;
$Main  = new Main("Noticias");
$Area  = new Area();
$DataBase	= new DataBase();
$DateTime	= new DateTime();
$Paginacao	= new Paginacao($ConfigOtr["numItemsPag"]);
$query  = $DataBase->Query("SELECT * FROM base_Noticias ORDER BY NoticiasData DESC LIMIT 0,8");
$numRows	= $DataBase->NumRows($query);
$numPag  = $numRows/$ConfigOtr["numItemsPag"];
?>isso no cabeçalho... pra utilzar a paginacao fica assim:
<?php
$j	= 0;
while($linha=$DataBase->FetchAll($query)){
	if($j>=$Paginacao->vinicio && $j<$Paginacao->vfim){
  $linha["NoticiasData"]	= $DateTime->DateTimetoData($linha["NoticiasData"],"dia/mes/ano");
?>
            <tr height="18">
              <td width="65"><span class="Peq"><?=$linha["NoticiasData"];?> |</span></td>
              <td class="Cont"><a href="?posicoes=Noticias,Mostra&LocalID=<?=$linha["NoticiasID"];?>"><?=$linha["NoticiasTitulo"];?></a></td>
            </tr>
 <?php
	}
	$j++;
}
?>deu pra entender??
toda vez que for usar paginaçao é so chamar new Paginacao();
da pra adaptar à qualquer estilo...
					
					
					
							Edição feita por: goiaba2000, 08/08/2005, 15:31.