Jump to content


Photo

Paginacao()


  • Faça o login para participar
2 replies to this topic

#1 marcusviniciusrm

marcusviniciusrm

    Normal

  • Usuários
  • 70 posts
  • Sexo:Não informado
  • Localidade:Pindamonhangaba

Posted 26/09/2005, 01:35

Título: paginacao()
Descrição: Organiza por exemplo o resultado de uma busca criando uma númeraçao de páginas contendo o link para as mesmas.

---------------------------------------------------------

Sintaxe: paginacao(INT TOTAL, INT LPP, LINK, PAGINA)
Retorno: String
Descrição: Chame a função passando total de itens a exibir, o limite desejado a ser exibido por página, o link das páginas e qual página está no momento. A função criara por exemplo isso "anterior 1... 3 4 5 6 7 8 9 10 11 12 13 ...15 proxima"
Bibliotecas: Nenhuma
Limitações: Acho que nenhuma, pois só tem variaveis



Função:
<?

function paginacao($total, $lpp, $link, $pagina) {

	$paginas = ceil($total / $lpp);

	$anterior = $pagina - 1;
	$proxima = $pagina + 1;
	
	if ($pagina > 1) {$html .= "<a href=\"".$link."?pagina=".$anterior."\">anterior</a> ";}
	if (($pagina > 6) && ($paginas > 10)) {$html .= "<a href=\"".$link."?pagina=1\">1...</a> ";}
	
	if (($pagina > 5) && ($pagina < $paginas - 4)) {
  $primeira = $pagina - 5;
  $ultima = $pagina + 5;
	}
	else {
  if ($pagina < 6) {
 	 $primeira = 1;
 	 if ($paginas > 9) {
    $ultima = 10;
 	 }
 	 else {
    $ultima = $paginas;
 	 }
  }
	
  if ($pagina > $paginas - 5) {
 	 $ultima = $paginas;
 	 if ($paginas < 11) {
    $primeira = 1;
 	 }
 	 else {
    $primeira = $paginas - 9;
 	 }
  }
	}
	
	while ($primeira <= $ultima) {
  if ($primeira == $pagina) {
 	 $html .= $primeira;
  }
  else {
 	 $html .= " <a href=\"".$link."?pagina=".$primeira."\">".$primeira."</a> ";
  }
  $primeira = $primeira + 1;
	}
	
	if (($pagina < $paginas - 5) && ($paginas > 10)) {$html .= " <a href=\"".$link."?pagina=".$paginas."\">...".$paginas."</a>";}
	if ($pagina < $paginas) {$html .= " <a href=\"".$link."?pagina=".$proxima."\">proxima</a>";}
	
	return $html;
}

Exemplo:
// nao se esqueça de declarar a função

$c_total = mysql_query("SELECT * FROM tabela", $conexao);
$total = mysql_num_rows($c_total);

$lpp = "10";
$pagina = $_REQUEST['pagina'];
if ($pagina == "") {$pagina = 1;}
$inicio = ($pagina * $lpp) - $lpp;

$paginacao = paginacao($total, $lpp, '', $pagina);

echo $paginacao;

$c_mostrar = mysql_query("SELECT * FROM tabela LIMIT $inicio, $lpp", $conexao);
while($dados = mysql_fetch_array($c_mostrar)) {
	echo $dados[seila];
}

echo $paginacao;

?>

Exemplo de resultado:

anterior 1... 3 4 5 6 7 8 9 10 11 12 13 ...15 proxima



#2 Serafin

Serafin

    Novato no fórum

  • Usuários
  • 11 posts
  • Sexo:Masculino
  • Localidade:Petrolina-PE
  • Interesses:Tenho Interesses em PHP, JAVA, C++, JAVASCRIPTS, MYQL, ETC

Posted 12/10/2007, 20:11

Poderia explicar detalhadamente esse script? pra nós do fórum entender? :rolleyes:
"!@#$%¨&*()_+NCMR+_)(*&¨%$#@!"

#3 hooligans

hooligans

    Normal

  • Usuários
  • 83 posts
  • Sexo:Não informado

Posted 19/01/2009, 08:26

cara tava procurando horas aki vlw funcionou legal aki vlw mesmo




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq